0% found this document useful (0 votes)
335 views6 pages

PDF Repack Process Overview

The document defines data types and structures for handling logistics data. It then processes logistics unit data to extract key information and generate barcode identifiers for various elements. This includes generating identifiers for the handling unit, supplier, dispatch unit, material, and production date. The data is then used to query logistics headers and items and retrieve additional recipient and location information.

Uploaded by

Anonymous OiD8eM
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
335 views6 pages

PDF Repack Process Overview

The document defines data types and structures for handling logistics data. It then processes logistics unit data to extract key information and generate barcode identifiers for various elements. This includes generating identifiers for the handling unit, supplier, dispatch unit, material, and production date. The data is then used to query logistics headers and items and retrieve additional recipient and location information.

Uploaded by

Anonymous OiD8eM
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

DATA:

gs_tophu TYPE /scwm/s_huhdr_int,


gs_hu_ident TYPE /scwm/s_hu_ident,

gs_guid_hu TYPE /scwm/s_guid_hu,


gs_t300_md TYPE /scwm/s_t300_md,
gv_adreese TYPE ad_addrnum,
gt_guid_hu TYPE /scwm/tt_guid_hu,

gs_docid TYPE LINE OF /scdl/dl_guid_tab,


gt_docid1 TYPE /scwm/dlv_docid_item_tab,
gs_docid1 TYPE LINE OF /scwm/dlv_docid_item_tab,
gt_tu_dlv TYPE /scwm/tt_tu_dlv,

* gs_tophu TYPE /scwm/s_huhdr_int,


* gs_huitm TYPE /scwm/s_huitm_int,

* gs_guid_hu TYPE /scwm/s_guid_hu,

* gs_t300_md TYPE /scwm/s_t300_md,


* gv_adreese TYPE ad_addrnum,
* gv_lines TYPE i,
gv_hu_lines TYPE i,
gv_item_lines TYPE i,
gv_addrnumber TYPE ad_addrnum,
gt_headers TYPE /scwm/dlv_header_out_prd_tab,
gs_headers TYPE LINE OF /scwm/dlv_header_out_prd_tab,
gt_items TYPE /scwm/dlv_item_out_prd_tab,
gs_items TYPE LINE OF /scwm/dlv_item_out_prd_tab,
gt_partyloc TYPE /scdl/dl_partyloc_tab WITH HEADER LINE,
gs_partyloc TYPE /scdl/dl_partyloc_str,
gt_hu_headers TYPE /scwm/tt_huhdr_int,
gs_hu_headers TYPE LINE OF /scwm/tt_huhdr_int,
gt_hu_items TYPE /scwm/tt_huitm_int,
gs_hu_items TYPE LINE OF /scwm/tt_huitm_int,

gt_matid TYPE /scwm/tt_matid,


gs_matid TYPE /scwm/de_matid,
gt_mat_global TYPE /scwm/tt_material_global,
gs_mat_global TYPE LINE OF /scwm/tt_material_global,
gv_text TYPE /scwm/de_desc40,
gt_tu_sr_act TYPE /scwm/tt_tu_sr_activity,
gs_tu_sr_act TYPE LINE OF /scwm/tt_tu_sr_activity,
gt_tu_hdr TYPE /scwm/tt_tunit_int,
gs_tu_hdr TYPE LINE OF /scwm/tt_tunit_int,
gt_docid TYPE /scdl/dl_guid_tab,
gv_week TYPE scal-week,
gv_lines1 TYPE i.
* gt_serid TYPE /SCWM/TT_SERID,
* gs_serid TYPE /SCWM/S_SERID.

DATA:me TYPE REF TO /scwm/cl_dlv_management_prd.

CREATE OBJECT me.


CLEAR gt_tophu.

DATA:gv_sel TYPE rsdsselopt,


gt_hu_ident TYPE /scwm/tt_hu_ident,
gt_idart TYPE rseloption.

CLEAR gt_tophu.

gv_sel-sign = 'I'.
gv_sel-option = 'EQ'.
gv_sel-low = 'I'.
APPEND gv_sel TO gt_idart.

gv_sel-sign = 'I'.
gv_sel-option = 'EQ'.
gv_sel-low = 'J'.
APPEND gv_sel TO gt_idart.

gv_sel-sign = 'I'.
gv_sel-option = 'EQ'.
gv_sel-low = 'K'.
APPEND gv_sel TO gt_idart.

gv_sel-sign = 'I'.
gv_sel-option = 'EQ'.
gv_sel-low = 'L'.
APPEND gv_sel TO gt_idart.

gv_sel-sign = 'I'.
gv_sel-option = 'EQ'.
gv_sel-low = 'M'.
APPEND gv_sel TO gt_idart.

gv_sel-sign = 'I'.
gv_sel-option = 'EQ'.
gv_sel-low = 'N'.
APPEND gv_sel TO gt_idart.

LOOP AT tophu INTO gs_tophu.

CLEAR gt_guid_hu.
gs_guid_hu-guid_hu = gs_tophu-guid_hu.
APPEND gs_guid_hu TO gt_guid_hu.

gs_huhdr = gs_tophu.

******logic for S/G/M Handling unit bar code


DESCRIBE TABLE huhdr LINES gv_hu_lines.
DESCRIBE TABLE huitm LINES gv_item_lines.

gv_hu_num = gs_huhdr-huident.
CONDENSE gs_huhdr-huident.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = gv_hu_num
IMPORTING
output = gv_hu_num.

IF gv_hu_lines GT 1.
CONCATENATE 'M' gv_hu_num INTO gv_hu_num.
ELSE.
CONCATENATE 'S' gv_hu_num INTO gv_hu_num.
ENDIF.

CONDENSE gv_hu_num.

CALL FUNCTION '/SCWM/HU_SELECT_IDENT'


EXPORTING
iv_lgnum = gs_tophu-lgnum
it_guid_hu = gt_guid_hu
ir_idart = gt_idart
IMPORTING
et_hu_ident = gt_hu_ident.

READ TABLE gt_hu_ident INTO gs_hu_ident INDEX 1.


IF sy-subrc = 0.
* APPEND gv_tophu TO wt_tophu.
* gv_tophu-huident = gv_hu_ident-huident(20).
** gv_tophu-sel_all = 'F'.
* APPEND gv_tophu TO wt_tophu.
ELSE.
APPEND gs_tophu TO gt_tophu.
ENDIF.

**********logic for supplier ID V


CALL FUNCTION '/SCWM/T300_MD_READ_SINGLE'
EXPORTING
iv_lgnum = gs_tophu-lgnum
* IV_SCUGUID =
IMPORTING
es_t300_md = gs_t300_md
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

SELECT SINGLE adresse FROM /scmb/toentity


INTO gv_adreese WHERE scuguid = gs_t300_md-scuguid.

SELECT SINGLE name1 name2 county FROM adrc INTO CORRESPONDING FIELDS OF
gs_adrc_supply
WHERE addrnumber = gv_adreese.

CONCATENATE 'V' gs_adrc_supply-name2 INTO gv_supplier.

ENDLOOP.
DESCRIBE TABLE huitm LINES gv_lines.

LOOP AT huitm INTO gs_huitm.

*********** Docid for Dispatch Unit


gs_docid1-docid = gs_huitm-qdocid.
gs_docid-docid = gs_huitm-qdocid.
APPEND gs_docid TO gt_docid.
APPEND gs_docid1 TO gt_docid1.
gs_huitm = gs_huitm.

IF sy-tabix NE 1.
ON CHANGE OF gs_huitm-matid.
gs_huitm-matid = ''.
CONCATENATE 'G' gv_hu_num INTO gv_hu_num.
CONDENSE gv_hu_num.
ENDON.
ENDIF.

APPEND LINES OF gs_huitm-serid TO gt_serid.


ENDLOOP.

LOOP AT gt_serid INTO gs_serid.

CASE sy-tabix.
WHEN '1'.
gv_serid1 = gs_serid-serid.
gv_lines1 = gv_lines1 + 1.
WHEN '2'.
gv_serid2 = gs_serid-serid.
gv_lines1 = gv_lines1 + 1.
WHEN '3'.
gv_serid3 = gs_serid-serid.
gv_lines1 = gv_lines1 + 1.
WHEN '4'.
gv_serid4 = gs_serid-serid.
gv_lines1 = gv_lines1 + 1.
WHEN '5'.
gv_serid5 = gs_serid-serid.
gv_lines1 = gv_lines1 + 1.
WHEN '6'.
gv_serid6 = gs_serid-serid..
gv_lines1 = gv_lines1 + 1.
ENDCASE.
ENDLOOP.

****** Quantity
gs_huitm-quan = gv_lines1.

gv_quan = gs_huitm-quan.
REPLACE ALL OCCURRENCES OF '0' IN gv_quan WITH space.
REPLACE ALL OCCURRENCES OF '.' IN gv_quan WITH space.
CONDENSE gv_quan.
********RECIEVER

CALL METHOD me->query


EXPORTING
it_docid = gt_docid1
IMPORTING
et_hu_headers = gt_hu_headers
et_hu_items = gt_hu_items
et_headers = gt_headers
et_items = gt_items.

LOOP AT gt_headers INTO gs_headers.


APPEND LINES OF gs_headers-partyloc TO gt_partyloc.
ENDLOOP.

READ TABLE gt_partyloc INTO gs_partyloc WITH KEY party_role = 'STPRT' role_cat =
'BP'.
IF sy-subrc IS INITIAL.
SELECT SINGLE addrnumber FROM but020 INTO gv_addrnumber WHERE partner EQ
gs_partyloc-partyno.
IF sy-subrc IS INITIAL.
SELECT SINGLE name1 city1 post_code1 country FROM adrc INTO CORRESPONDING
FIELDS OF gs_adrc
WHERE addrnumber = gv_addrnumber.

ENDIF.
ENDIF.

********** GATE NO

READ TABLE gt_partyloc INTO gs_partyloc WITH KEY party_role = 'UP' role_cat = 'LO'.
IF sy-subrc IS INITIAL.
SELECT SINGLE addrnumber FROM but020 INTO gv_addrnumber WHERE partner EQ
gs_partyloc-partyno.
IF sy-subrc IS INITIAL.
SELECT SINGLE name1 city1 post_code1 country FROM adrc INTO CORRESPONDING
FIELDS OF gs_adrc1
WHERE addrnumber = gv_addrnumber.

ENDIF.
ENDIF.

********* Dispatch Unit

CALL METHOD /scwm/cl_sr_db_tu=>read_dlv


EXPORTING
* it_tu_sr_act =
it_docid = gt_docid
* it_guid_hu =
IMPORTING
et_tu_dlv = gt_tu_dlv.

IF sy-subrc EQ 0.
ENDIF.

READ TABLE gt_tu_dlv INTO gs_tu_dlv INDEX 1.


gv_tu_num = gs_tu_dlv-tu_num.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = gv_tu_num
IMPORTING
output = gv_tu_num.

CONCATENATE 'N' gv_tu_num INTO gv_tu_num.

**:Description: KAMAXEL AVGAS,

CALL FUNCTION 'CONVERSION_EXIT_MDLPD_OUTPUT'


EXPORTING
input = gs_huitm-matid
IMPORTING
output = gv_matid.

SELECT SINGLE matid FROM


/sapapo/matkey INTO gv_matid
WHERE matnr = gv_matid.

SELECT SINGLE maktg FROM


/sapapo/mattxt INTO gv_maktg
WHERE matid = gv_matid.

CONCATENATE 'P' gv_matid INTO gv_matid.

* prod date

CALL FUNCTION 'DATE_GET_WEEK'


EXPORTING
date = sy-datum
IMPORTING
week = gv_week
EXCEPTIONS
date_invalid = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

CONCATENATE sy-datum+2(2) gv_week+4(2) sy-datum+6(2) INTO gv_prod_date.

You might also like