Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- loop at lit_mseg.
- insert_row_to_result_tab lit_mara lit_mseg-matnr lit_t001w lit_mseg-werks lit_result <lfs_result>.
- if lit_mseg-calcdt in lr_calcdt.
- case lit_mseg-bwart.
- when '101' or '907' or '919' or '915' or '123'.
- check lit_mseg-shkzg = 'S'.
- add: lit_mseg-menge to <lfs_result>-lifin-menge,
- lit_mseg-dmbtr to <lfs_result>-lifin-dmbtr.
- when '102' or '908' or '920' or '916' or '122'.
- check lit_mseg-shkzg = 'H'.
- subtract: lit_mseg-menge from <lfs_result>-lifin-menge,
- lit_mseg-dmbtr from <lfs_result>-lifin-dmbtr.
- when '309' or '310'.
- read table lit_mara into ls_mara with table key key_prim components matnr = lit_mseg-ummat.
- if sy-subrc ne 0. clear ls_mara. endif. "Если материал не найден, то он с другой группы
- if lit_mara-matkl ne ls_mara-matkl.
- case lit_mseg-bwart.
- when '309'.
- if lit_mseg-shkzg = 'S'.
- add: lit_mseg-menge to <lfs_result>-lifin-menge,
- lit_mseg-dmbtr to <lfs_result>-lifin-dmbtr.
- else.
- add: lit_mseg-menge to <lfs_result>-devout-menge,
- lit_mseg-dmbtr to <lfs_result>-devout-dmbtr.
- endif.
- when '310'.
- if lit_mseg-shkzg = 'H'.
- subtract: lit_mseg-menge from <lfs_result>-lifin-menge,
- lit_mseg-dmbtr from <lfs_result>-lifin-dmbtr.
- else.
- subtract: lit_mseg-menge from <lfs_result>-devout-menge,
- lit_mseg-dmbtr from <lfs_result>-devout-dmbtr.
- endif.
- endcase.
- endif.
- when '641'.
- * read table lit_t001w with table key werks = lit_mseg-umwrk. "Comment Lavrenyuk K. 27.01.2018 00:48:17
- * if sy-subrc eq 0 and lit_mseg-bukrs ne lit_t001w-bukrs. "Comment Lavrenyuk K. 27.01.2018 00:48:17
- read table lit_t001w_p with table key werks = lit_mseg-umwrk. "Add Lavrenyuk K. 27.01.2018 00:48:17
- if sy-subrc eq 0 and lit_mseg-bukrs ne lit_t001w_p-bukrs. "Add Lavrenyuk K. 27.01.2018 00:48:17
- if lit_mseg-shkzg = 'S'.
- add: lit_mseg-menge to <lfs_result>-bukin-menge,
- lit_mseg-dmbtr to <lfs_result>-bukin-dmbtr.
- else.
- add: lit_mseg-menge to <lfs_result>-bukout-menge,
- lit_mseg-dmbtr to <lfs_result>-bukout-dmbtr.
- endif.
- endif.
- when '642'.
- * read table lit_t001w with table key werks = lit_mseg-umwrk. "Comment Lavrenyuk K. 27.01.2018 00:48:17
- * if sy-subrc eq 0 and lit_mseg-bukrs ne lit_t001w-bukrs. "Comment Lavrenyuk K. 27.01.2018 00:48:17
- read table lit_t001w_p with table key werks = lit_mseg-umwrk. "Add Lavrenyuk K. 27.01.2018 00:48:17
- if sy-subrc eq 0 and lit_mseg-bukrs ne lit_t001w_p-bukrs. "Add Lavrenyuk K. 27.01.2018 00:48:17
- if lit_mseg-shkzg = 'H'.
- subtract: lit_mseg-menge from <lfs_result>-bukin-menge,
- lit_mseg-dmbtr from <lfs_result>-bukin-dmbtr.
- else.
- subtract: lit_mseg-menge from <lfs_result>-bukout-menge,
- lit_mseg-dmbtr from <lfs_result>-bukout-dmbtr.
- endif.
- endif.
- when '941' or '942'.
- read table lit_mara into ls_mara with table key key_prim components matnr = lit_mseg-ummat.
- if sy-subrc ne 0. clear ls_mara. endif. "Если материал не найден, то он с другой группы
- if lit_mara-matkl ne ls_mara-matkl.
- if lit_mseg-bwart = '941' and lit_mseg-shkzg eq 'H'.
- add: lit_mseg-menge to <lfs_result>-devout-menge,
- lit_mseg-dmbtr to <lfs_result>-devout-dmbtr.
- elseif lit_mseg-bwart = '942' and lit_mseg-shkzg eq 'S'.
- subtract: lit_mseg-menge from <lfs_result>-devout-menge,
- lit_mseg-dmbtr from <lfs_result>-devout-dmbtr.
- endif.
- endif.
- when '201' or '241' or '261' or '281' or '601'
- or '933' or '935' or '943'
- or '945' or '947' or '949' or '955'
- or '971' or 'Z51'.
- if lit_mseg-shkzg = 'H'.
- add:lit_mseg-menge to <lfs_result>-devout-menge,
- lit_mseg-dmbtr to <lfs_result>-devout-dmbtr.
- endif.
- when '202' or '242' or '262' or '282' or '602'
- or '934' or '936' or '944'
- or '946' or '948' or '950' or '956'
- or '972' or 'Z52'.
- if lit_mseg-shkzg = 'S'.
- subtract: lit_mseg-menge from <lfs_result>-devout-menge,
- lit_mseg-dmbtr from <lfs_result>-devout-dmbtr.
- endif.
- endcase.
- endif.
- " откатываем остатки
- if lit_mseg-shkzg = 'S'.
- lit_mseg-menge = - lit_mseg-menge.
- lit_mseg-dmbtr = - lit_mseg-dmbtr.
- endif.
- * IF lit_mseg-matnr = '000000000210000047' and lit_mseg-charg <> lit_mseg-bwtar. " пока сделал исключение потом посматрю после отпуска Yaki B. 21.02.2018
- * read table lit_mchb assigning <lfs_mchb> with table key primkey components matnr = lit_mseg-matnr
- * werks = lit_mseg-werks
- * charg = lit_mseg-bwtar.
- * else.
- IF lit_mseg-charg ne ''.
- read table lit_mchb assigning <lfs_mchb> with table key primkey components matnr = lit_mseg-matnr
- werks = lit_mseg-werks
- charg = lit_mseg-charg.
- ELSE.
- read table lit_mchb assigning <lfs_mchb> with key matnr = lit_mseg-matnr
- werks = lit_mseg-werks
- bwtar = lit_mseg-bwtar.
- lit_mseg-menge = - lit_mseg-menge.
- lit_mseg-dmbtr = - lit_mseg-dmbtr.
- ENDIF.
- * ENDIF.
- if sy-subrc ne 0.
- if sy-tabix eq 0. sy-tabix = 1. endif.
- lit_mchb-matnr = lit_mseg-matnr.
- lit_mchb-werks = lit_mseg-werks.
- lit_mchb-charg = lit_mseg-charg.
- IF lit_mseg-charg = ''.
- lit_mchb-charg = lit_mseg-bwtar.
- ENDIF.
- lit_mchb-bwtar = lit_mseg-bwtar.
- insert lit_mchb index sy-tabix assigning <lfs_mchb> .
- endif.
- * IF lit_mseg-charg <> lit_mseg-bwtar and lit_mseg-matnr = '000000000210000047'.
- * lit_mseg-menge = - lit_mseg-menge.
- * lit_mseg-dmbtr = - lit_mseg-dmbtr.
- *
- * IF lit_mseg-calcdt <= lr_calcdt-low.
- * add: lit_mseg-menge to <lfs_mchb>-clabs_b.
- * ENDIF.
- * if lit_mseg-calcdt > lr_calcdt-low .
- * add: lit_mseg-menge to <lfs_mchb>-clabs_e.
- * endif.
- * else.
- add: lit_mseg-menge to <lfs_mchb>-clabs_b.
- if lit_mseg-calcdt > lr_calcdt-high .
- add: lit_mseg-menge to <lfs_mchb>-clabs_e.
- endif.
- * ENDIF.
- endloop.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement