Beruflich Dokumente
Kultur Dokumente
* PROGRAM
: Z_INDV001_DATA
* PROGRAM TYPE
: Include
* PROGRAM TITLE
: Picking and Packing List generation
* TECHNICAL SPEC
: TS-SD-Pick_PACK-001
* FUNCTIONAL SPEC
: FS-SD-Pick_PACK-001
* PROGRAM AUTHOR
: Kalpana Pant
* DEVELOPMENT DATE
: 21.04.2015
* FUNCTIONAL OWNER
: Amit Sharma
* PROGRAM MODULE
: SD MODULE
* R/3 RELEASE
: <ECC 6.0>
* TRANSACTION CODE
:
* PACKAGE
: ZSD
* REQUEST NO
:
* LOCATION
:
*----------------------------------------------------------------------*
* Comments & Objective :
*----------------------------------------------------------------------*
*For Extra Information If Require :
*----------------------------------------------------------------------*
* PROGRAM TYPE
: include
* DEV. CLASS
:
* SCREENS
: <Screens used by this program>
* GUl TITLE
: <GUl Title>
* GUl STATUS
: <GUl status>
*----------------------------------------------------------------------*
*
Modification Log:
*----------------------------------------------------------------------*
*CRF No.
|
Change Request No :
*----------------------------------------------------------------------*
*Date
| Abaper
| Functional | Description
*
| Name
| Consultant |
*----------------------------------------------------------------------*
*
|
|
|
*
|
|
|
*
|
|
|
*
|
|
|
************************************************************************
*&---------------------------------------------------------------------*
*& Include
Z_INDV001_DATA
*&---------------------------------------------------------------------*
TABLES: T100, BKPF, VBAP, MARD.
TYPE-POOLS : VRM.
TYPE-POOLS : SLIS.
TYPES:BEGIN OF TY_VBAP,
VBELN TYPE VBELN_VA,
POSNR TYPE POSNR_VA,
MATNR TYPE MATNR,
WERKS TYPE WERKS_EXT,
TYPES:BEGIN OF TY_FINAL,
MANDT
TYPE MANDT,
SL_NO
TYPE CHAR4,
CHKBOX
TYPE CHAR1,
VBELN
TYPE VBELN_VA,
POSNR
TYPE POSNR_VA,
MATNR
TYPE MATNR,
KONDM
TYPE KONDM,
PACK
TYPE NUMC3,
POT(8)
TYPE C, "Potency
ALC(5)
TYPE C, "alcohol
MRP(7)
TYPE C,
CHARG
TYPE CHARG_D,
DATE
TYPE DATUM,
CASE_NO
LGORT
WERKS
CLASS
ROLL
PACK_NO
VSTEL
KALAB
MDATE
FORMAT_MDATE(7)
EDATE
FORMAT_EDATE(7)
ERDAT
ERZET
ERNAM
AEDAT
ABGRU
MAKTX
PROD_CAT(2)
BULK_LIT
BELNR
EX_POST
MBLNR
ZWERK
ZLGORT
QTY
ACTQTY
POSN
MATKL
FGBACH
TOT
PACKPOT
TAX
NRRANGENR
CPLANT
SRTSQ
GRP_ID
REF_MATNR
J_1ICHID
END OF TY_FINAL.
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
CHAR10,
LGORT_D,
WERKS_D,
KLASSE_D,
CHAR21,
NUM10,
VSTEL,
CHAR13,
"CHAR13, " dlabst "char13
CHAR10,
C,
CHAR10,
C,
ERDAT,
ERZET,
ERNAM,
AEDAT,
ABGRU,
MAKTX,
C,
CHAR13,
BELNR_D,
C,
MBLNR,
WERKS_D,
LGORT_D,
KWMENG, " Req. qty in case of inquiry
KWMENG,
POSNR_VA,
MATKL,
CHARG_D,
CHAR10,
CHAR8,
KBETR,
CHAR2,
WERKS_D,
ZSRTSQ,
ZGRPID,
MATNR,
J_1ICHID,
END OF TY_OO14_OO15.
TYPES: BEGIN OF TY_FINAL_NUMNEW,
MATNR
TYPE MATNR,
CHARG
TYPE CHARG_D,
OBJKEY
TYPE OBJNUM,
CLASS
TYPE KLASSE_D,
CHARACT
TYPE ATNAM,
VALUE_FROM
TYPE ATFLV,
VALUE_TO
TYPE ATFLB,
VALUE_RELATION TYPE ATCOD,
UNIT_FROM
TYPE MEINS,
UNIT_TO
TYPE MEINS,
UNIT_FROM_ISO TYPE MEINS_ISO,
UNIT_TO_ISO
TYPE MEINS_ISO,
INHERITED
TYPE FLINH,
INSTANCE
TYPE ATZIS,
CHARACT_DESCR TYPE ATBEZ,
END OF TY_FINAL_NUMNEW.
TYPES: BEGIN OF TY_FINAL_CHARNEW,
MATNR
TYPE MATNR,
CHARG
TYPE CHARG_D,
OBJKEY
TYPE OBJNUM,
CLASS
TYPE KLASSE_D,
CHARACT
TYPE ATNAM,
VALUE_CHAR
TYPE ATWRT,
INHERITED
TYPE FLINH,
INSTANCE
TYPE ATZIS,
VALUE_NEUTRAL TYPE ATWRT,
CHARACT_DESCR TYPE ATBEZ,
END OF TY_FINAL_CHARNEW.
TYPES: BEGIN OF TY_FINAL_CURRNEW,
MATNR
TYPE MATNR,
CHARG
TYPE CHARG_D,
OBJKEY
TYPE OBJNUM,
CLASS
TYPE KLASSE_D,
CHARACT
TYPE ATNAM,
VALUE_FROM
TYPE ATFLV,
VALUE_TO
TYPE ATFLB,
VALUE_RELATION
TYPE ATCOD,
CURRENCY_FROM
TYPE WAERS,
CURRENCY_TO
TYPE WAERS,
CURRENCY_FROM_ISO TYPE ISOCD,
CURRENCY_TO_ISO
TYPE ISOCD,
INHERITED
TYPE FLINH,
INSTANCE
TYPE ATZIS,
CHARACT_DESCR
TYPE ATBEZ,
END OF TY_FINAL_CURRNEW.
TYPES: BEGIN OF TY_LIPS,
CONSTANTS:
C_CONTAINER TYPE CHAR9 VALUE 'CONTAINER',
C_ONE
TYPE CHAR3 VALUE 'ONE',
C_TWO
TYPE CHAR3 VALUE 'TWO',
C_TRE
TYPE CHAR3 VALUE 'TRE',
C_FOU
TYPE CHAR3 VALUE 'FOU',
C_FIV
TYPE CHAR3 VALUE 'FIV',
C_SIX
TYPE CHAR3 VALUE 'SIX', " added by kp
C_SEV
TYPE CHAR3 VALUE 'SEV',
C_EIG
TYPE CHAR3 VALUE 'EIG'. " added by kp
DATA: IT_RETURN
TYPE STANDARD TABLE OF BAPIRET2,
IT_ALLOCVALUESNUMNEW TYPE STANDARD TABLE OF BAPI1003_ALLOC_VALUES_NUM,
IT_ALLOCVALUESCHARNEW TYPE STANDARD TABLE OF BAPI1003_ALLOC_VALUES_CHAR
,
IT_ALLOCVALUESCURRNEW TYPE STANDARD TABLE OF BAPI1003_ALLOC_VALUES_CURR
.
DATA:
W_FINAL_NUMNEW
W_FINAL_CHARNEW
W_FINAL_CURRNEW
W_OBJECTKEY
W_CONVS
SL_NO
FIELD-SYMBOLS:
DATA:
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
BAPI1003_ALLOC_VALUES_NUM,
BAPI1003_ALLOC_VALUES_CHAR,
BAPI1003_ALLOC_VALUES_CURR,
BAPI1003_KEY-OBJECT,
CKI_CHARA_VAL,
CHAR4.
<FS_FINAL>
<FS_FINAL1>
<FS_FINAL2>
<FS_FINAL_TMP1>
<FS_FINAL_TMP3>
<FS_HU>
<FS_VBUK>
<FS_VBAP_TMP>
<FS_MCHB>
<FS_MCHA>
<FS_MVKE>
<FS_MSKA>
<FS_CHAR_BATCH>
<FS_VBAP>
<FS_RETURN>
<FS_ALLOCVALUESNUMNEW>
<FS_ALLOCVALUESCHARNEW>
<FS_ZPACK_LIST_GEN>
<FS_ZPACK_LIST_GEN1>
<FS_LIPS>
<FS_MAKT>
<FS_MARM>
<FS_ORD_CHAR>
WA_OO14_OO15
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TY_FINAL,
TY_FINAL,
TY_FINAL,
TY_FINAL,
TY_FINAL,
TY_FINAL,
TY_VBUK,
TY_VBAP,
TY_MCHB,
TY_MCHA,
TY_MVKE,
TY_MSKA,
CLBATCH,
TY_VBAP,
BAPIRET2,
BAPI1003_ALLOC_VALUES_NUM,
BAPI1003_ALLOC_VALUES_CHAR,
ZSD_PACKLIST_GEN,
ZSD_PACKLIST_GEN,
TY_LIPS,
TY_MAKT,
TY_MARM,
TY_ORD_CHAR.
TYPE TY_OO14_OO15.
DATA:
*
*
LV_TABIX
TYPE SY-TABIX,
E_GROUP_OPENED,
W_YMCHA
TYPE MCHA,
W_POSNR
TYPE VBUP-POSNR,
W_PACK_NO1
TYPE NUM10,
W_GLB_FLG
TYPE CHAR1,
W_FLG1
TYPE CHAR1,
W_FLG2
TYPE CHAR1,
W_IDX_I
TYPE I,
W_IDX1_I
TYPE I,
W_IDX2_I
TYPE I,
W_IDX
TYPE CHAR5,
W_IDX1
TYPE CHAR5,
W_IDX2
TYPE CHAR5,
W_SEP
TYPE CHAR3,
FNAM
TYPE CHAR20,
W_VSTEL
TYPE VSTEL,
W_LINE
TYPE POSNR,
W_DEL_IDX
TYPE I,
W_COUNT
TYPE I,
W_INDEX
TYPE I,
W_TOT1
TYPE I,
W_TOT
TYPE I,
W_KALAB
TYPE MSKA-KALAB,
W_KALAB1
TYPE MSKA-KALAB,
W_CHARG
TYPE CHARG_D,
W_VBELN
TYPE VBELN,
LV_DELIVERY
TYPE VBELN,
LV_MESS
TYPE STRING,
W_DELIVERY
TYPE VBELN,
W_FLG
TYPE CHAR1,
W_FLG3
TYPE CHAR1,
W_FNAME
TYPE RS38L_FNAM,
WA_TAB
TYPE ZPRLIST,
W_SNO
TYPE I,
W_PACK
TYPE ZPACK_NO,
W_KG
TYPE CHAR3,
W_GROSS_WT
TYPE CHAR18,
W_GROSS
TYPE LABST,
W_PACK_NO
TYPE NUM10,
W_STM_NO
TYPE NUM10,
W_MAT_LEN
TYPE I,
W_MATNR
TYPE MATNR,
W_WERKS
TYPE WERKS_D,
L_ZIEME
TYPE DZIEME,
W_FINAL
TYPE TY_FINAL,
W_CASE
TYPE NUM10,
W_MGVGW
TYPE MGVGW,
L_GRWT
TYPE TXT30,
L_NTWT
TYPE TXT30,
L_GSM
TYPE TXT30,
S_ITEMNO
TYPE CHAR3,
W_ITEMNO
S_RL
B_LN
B_WD
B_HT
S_GW
S_NW
S_ROLL(4)
S_GRWT(8)
S_NTWT(8)
LV_MDATE
LV_AR2
LV_BM9
FLG1(1)
DATA:
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
I,
I,
P DECIMALS
P DECIMALS
P DECIMALS
P DECIMALS
P DECIMALS
C,
C,
C,
CHAR10,
C,
C,
C.
2,
2,
2,
2,
2,
IT_FINAL
IT_FINAL_DL
GT_PACKLIST_GEN
IT_FINAL_DL1
IT_FINAL_MT
IT_FINAL_OT
I_FINAL1
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
STANDARD
STANDARD
STANDARD
STANDARD
STANDARD
STANDARD
STANDARD
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
OF
OF
OF
OF
OF
OF
OF
TY_FINAL,
TY_FINAL,
ZSD_PACKLIST_GEN,
TY_FINAL,
TY_FINAL,
TY_FINAL,
TY_FINALTEMP WITH HEADER LIN
W_FINAL1
WA_PKGLST
IT_PKGLST
IT_LIPS
IT_FINAL_TMP
IT_FINAL_TMP1
IT_FINAL_TMP2
IT_FINAL_TMP3
IT_FINAL_TMP4
IT_FINAL_TMP5
IT_FINAL_HU
IT_VBAP_TMP
IT_VBAP
IT_MCHB
IT_MCHA
IT_MSKA
IT_MAKT
IT_MVKE
IT_MARM
IT_VBUK
IT_CHAR_BATCH
IT_CHAR_BATCH2
IT_ORD_CHAR
IT_ZPACK_LIST_GEN
IT_ZPACK_LIST1
IT_OO14_OO15
IT_EXCISE
IT_T001W
IT_ADRC
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TY_FINALTEMP,
TY_PKGLST,
STANDARD TABLE OF TY_PKGLST,
STANDARD TABLE OF TY_LIPS,
STANDARD TABLE OF TY_FINAL,
STANDARD TABLE OF TY_FINAL,
STANDARD TABLE OF TY_FINAL,
STANDARD TABLE OF TY_FINAL,
STANDARD TABLE OF TY_FINAL,
STANDARD TABLE OF TY_FINAL,
STANDARD TABLE OF TY_FINAL,
STANDARD TABLE OF TY_VBAP,
STANDARD TABLE OF TY_VBAP,
STANDARD TABLE OF TY_MCHB,
STANDARD TABLE OF TY_MCHA,
STANDARD TABLE OF TY_MSKA,
STANDARD TABLE OF TY_MAKT,
STANDARD TABLE OF TY_MVKE,
STANDARD TABLE OF TY_MARM,
STANDARD TABLE OF TY_VBUK,
STANDARD TABLE OF CLBATCH,
STANDARD TABLE OF CLBATCH,
STANDARD TABLE OF TY_ORD_CHAR,
STANDARD TABLE OF ZSD_PACKLIST_GEN,
STANDARD TABLE OF ZSD_PACKLIST_GEN,
STANDARD TABLE OF TY_OO14_OO15,
TABLE OF TY_EXCISE,
STANDARD TABLE OF T001W,
STANDARD TABLE OF ADRC,
E,
DATA:
DATA:
IT_ZNOR
WA_ZNOR
IT_ZNOR1
WA_ZNOR1
DATA: GV_HUCTR
GV_VEPOCTR
GV_DUTYVAL
GV_DUTY
UNIT(3),
UNIT1(3),
L_TMP(3),
L_LEN1(2),
L_LEN2(3),
CONST1(10)
CONST(7)
W_WEIGHT
DATA
DATA
DATA
DATA
DATA:
:
:
:
:
TYPE
TYPE
TYPE
TYPE
I,
I,
P DECIMALS 2,
P DECIMALS 2,
T_DELNO(10) TYPE C.
T_LIN TYPE I.
GV_BATCHFLG TYPE C.
FNAME TYPE RS38L_FNAM.
CONTROL TYPE SSFCTRLOP,
ERRTAB TYPE TSFERROR.
DATA:IT_MATKL
WA_MATKL
*
DATA:IT_WGBEZ
WA_WGBEZ
*
DATA:IT_DEPOT
WA_DEPOT
TYPE SY-REPID,
TYPE SY-DYNNR,
"'39.37',
"'2.20462',
DATA :
REPORT ZMM_PO_REPORT.
*******Table Workarea declaration******
TABLES: EBAN, EKPO, EKKO.
*******Type pool declaration********
TYPE-POOLS SLIS.
*******Selection screen creation*********
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
SELECT-OPTIONS: S_BEDAT FOR EKKO-BEDAT,
" OBLIGATORY.
S_EBELN FOR EKKO-EBELN,
S_LIFNR FOR EKKO-LIFNR,
S_WERKS FOR EKPO-WERKS,
S_MATNR FOR EKPO-EMATN,"MATNR,
S_BANFN FOR EKPO-BANFN,
S_BADAT FOR EBAN-BADAT.
SELECTION-SCREEN: END OF BLOCK B1.
SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_RB1 RADIOBUTTON GROUP RG1.
SELECTION-SCREEN SKIP.
PARAMETERS: P_RB2 RADIOBUTTON GROUP RG1.
SELECTION-SCREEN: END OF BLOCK B2.
*******Types Declaration********
TYPES: BEGIN OF TY_EBAN,
BANFN TYPE BANFN,
BNFPO TYPE BNFPO,
LOEKZ TYPE LOEKZ,
BADAT TYPE BADAT,
MENGE TYPE MENGE_D,
EBELN TYPE EBELN,
EBELP TYPE EBELP,
MATNR TYPE MATNR,
TXZ01 TYPE TXZ01,
END OF TY_EBAN.
TYPES: BEGIN OF TY_EKPO,
LIFNR TYPE LIFNR,
BEDAT TYPE BEDAT,
WAERS TYPE WAERS,
EBELN TYPE EBELN,
EBELP TYPE EBELP,
LOEKZ TYPE ELOEK,
MENGE TYPE MENGE_D,
MEINS TYPE BSTME,
NETWR TYPE BWERT,
NETPR TYPE NETPR,
FLAG
TYPE C,
BANFN
TYPE BANFN,
BNFPO
TYPE BNFPO,
BEDAT
TYPE BEDAT,
BADAT
TYPE BEDAT,
MENGE
TYPE MENGE_D,
MEINS
TYPE BSTME,
LIFNR
TYPE LIFNR,
EBELN
TYPE EBELN,
EBELP
TYPE EBELP,
DATE
TYPE BEDAT,
QTY
TYPE MENGE_D,
NETWR
TYPE NETWR,
NETPR
TYPE NETPR,
*************"Added by pramod on 16.06.2016
WAERS
TYPE WAERS,
PEINH
TYPE PEINH,
BPRME
TYPE BPRME,
*************"End of changes by pramod on 16.06.2016
NAVNW
TYPE NAVNW,
EFFWR
TYPE EFFWR,
WERKS
TYPE WERKS_D,
MATNR
TYPE MATNR,
TXZ01
TYPE TXZ01,
PDATE
TYPE BUDAT,
LSMNG
TYPE LSMNG,
NAME1
TYPE NAME1,
EINDT
TYPE EINDT,
PR_DEL TYPE CHAR10,
" PR Deletion Status
06.2016
*
PO_DEL TYPE LOEKZ,
" PO Deletion Status
06.2016
BELNR
TYPE MBLNR,
BWART
TYPE BWART,
SHKZG
TYPE SHKZG,
VCODE
TYPE QVCODE,
VDATUM TYPE QVEDATUM,
PINDENT TYPE MENGE_D,
PPO
TYPE MENGE_D,
END OF TY_FINAL.
DATA: WA_FCAT
TYPE SLIS_FIELDCAT_ALV,
WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
IT_FCAT
TYPE SLIS_T_FIELDCAT_ALV.
DATA: LV_INDEX TYPE SY-TABIX.
DATA: WA_EBAN
WA_EKPO
WA_EKBE
WA_LFA1
TYPE
TYPE
TYPE
TYPE
TY_EBAN,
TY_EKPO,
TY_EKBE,
TY_LFA1,
WA_EKET
WA_QALS
WA_QAVE
WA_FINAL
WA_FINAL1
IT_EBAN
IT_EKPO
IT_EKBE
IT_LFA1
IT_EKET
IT_QALS
IT_QAVE
IT_FINAL
IT_FINAL1
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TY_EKET,
TY_QALS,
TY_QAVE,
TY_FINAL,
TY_FINAL,
TABLE OF TY_EBAN,
TABLE OF TY_EKPO,
TABLE OF TY_EKBE,
TABLE OF TY_LFA1,
TABLE OF TY_EKET,
TABLE OF TY_QALS,
TABLE OF TY_QAVE,
TABLE OF TY_FINAL,
TABLE OF TY_FINAL.
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM COMBINE_DATA.
PERFORM FCAT.
PERFORM LAYOUT.
PERFORM DISPLAY.
*&---------------------------------------------------------------------*
*&
Form GET_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*------------------------------------------------------------.----------*
FORM GET_DATA .
IF S_BANFN IS NOT INITIAL OR S_BADAT IS NOT INITIAL.
SELECT
BANFN
BNFPO
LOEKZ
BADAT
MENGE
EBELN
EBELP
MATNR
TXZ01
INTO TABLE IT_EBAN
FROM EBAN
WHERE BANFN IN S_BANFN
AND BADAT IN S_BADAT.
IF IT_EBAN IS NOT INITIAL.
SELECT A~LIFNR
A~BEDAT
A~WAERS
"Added by pramod on 16.06.2016
B~EBELN
B~EBELP
B~LOEKZ
B~MENGE
B~MEINS
B~NETWR
B~NETPR
B~PEINH
"Addedby pramod on 30.05.2016
B~BPRME
"Added by pramod on 16.06.2016
B~NAVNW
B~EFFWR
B~WERKS
B~MATNR
B~TXZ01
B~BANFN
B~BNFPO
INTO TABLE IT_EKPO
FROM EKKO AS A INNER JOIN EKPO AS B
ON A~EBELN = B~EBELN
FOR ALL ENTRIES IN IT_EBAN
WHERE A~BEDAT IN S_BEDAT
AND B~EBELN IN S_EBELN
AND A~LIFNR IN S_LIFNR
AND B~WERKS IN S_WERKS
AND B~MATNR IN S_MATNR
AND B~BANFN = IT_EBAN-BANFN.
IF SY-SUBRC EQ 0.
DELETE IT_EKPO WHERE LOEKZ IS NOT INITIAL.
ENDIF.
ENDIF.
ELSE.
SELECT
A~LIFNR
A~BEDAT
A~WAERS
B~EBELN
B~EBELP
B~LOEKZ
B~MENGE
B~MEINS
B~NETWR
B~NETPR
B~PEINH
B~BPRME
B~NAVNW
B~EFFWR
B~WERKS
B~MATNR
B~TXZ01
B~BANFN
B~BNFPO
INTO TABLE IT_EKPO
FROM EKKO AS A INNER JOIN EKPO AS B
ON A~EBELN = B~EBELN
FOR ALL ENTRIES IN IT_EBAN
WHERE A~BEDAT IN S_BEDAT
AND B~EBELN IN S_EBELN
AND A~LIFNR IN S_LIFNR
AND B~WERKS IN S_WERKS
AND B~MATNR IN S_MATNR.
AND B~BANFN = IT_EBAN-BANFN.
IF SY-SUBRC EQ 0.
DELETE IT_EKPO WHERE LOEKZ IS NOT INITIAL.
ENDIF.
IF IT_EKPO IS NOT INITIAL.
*
*
SELECT BANFN
BNFPO
LOEKZ
BADAT
MENGE
EBELN
EBELP
INTO TABLE IT_EBAN
FROM EBAN
FOR ALL ENTRIES IN IT_EKPO
WHERE EBELN = IT_EKPO-EBELN
AND EBELP = IT_EKPO-EBELP.
WHERE BANFN = IT_EKPO-BANFN
AND BNFPO = IT_EKPO-BNFPO.
ENDIF.
ENDIF.
IF IT_EKPO IS NOT INITIAL.
*
*
*
*
*
*
*
*
*
*
*
SELECT BANFN
BNFPO
BADAT
MENGE
EBELN
EBELP
INTO TABLE IT_EBAN
FROM EBAN
FOR ALL ENTRIES IN IT_EKPO
WHERE EBELN = IT_EKPO-EBELN
AND EBELP = IT_EKPO-EBELP.
SELECT
EBELN
EBELP
MATNR
ZEKKN
VGABE
GJAHR
BELNR
BUZEI
BUDAT
LSMNG
SHKZG
BWART
INTO TABLE IT_EKBE
FROM EKBE
FOR ALL ENTRIES IN IT_EKPO
WHERE EBELN = IT_EKPO-EBELN
AND EBELP = IT_EKPO-EBELP.
SELECT EBELN
EBELP
ETENR
EINDT
INTO TABLE IT_EKET
FROM EKET
FOR ALL ENTRIES IN IT_EKPO
WHERE EBELN = IT_EKPO-EBELN
AND EBELP = IT_EKPO-EBELP.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&
Form COMBINE_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM COMBINE_DATA .
LOOP AT IT_EKPO INTO WA_EKPO.
READ TABLE IT_EKBE TRANSPORTING NO FIELDS WITH KEY EBELN = WA_EKPO-EBELN E
BELP = WA_EKPO-EBELP MATNR = WA_EKPO-MATNR.
IF SY-SUBRC = 0.
LV_INDEX = SY-TABIX.
LOOP AT IT_EKBE INTO WA_EKBE FROM LV_INDEX.
IF
WA_EKPO-EBELN <> WA_EKBE-EBELN
OR WA_EKPO-EBELP <> WA_EKBE-EBELP
OR WA_EKPO-MATNR <> WA_EKBE-MATNR .
EXIT.
ENDIF.
WA_FINAL-PDATE = WA_EKBE-BUDAT.
WA_FINAL-LSMNG = WA_EKBE-LSMNG.
WA_FINAL-BELNR = WA_EKBE-BELNR.
WA_FINAL-BWART = WA_EKBE-BWART.
WA_FINAL-SHKZG = WA_EKBE-SHKZG.
WA_FINAL-LIFNR = WA_EKPO-LIFNR.
WA_FINAL-EBELN = WA_EKPO-EBELN.
WA_FINAL-EBELP = WA_EKPO-EBELP.
WA_FINAL-DATE = WA_EKPO-BEDAT.
WA_FINAL-QTY = WA_EKPO-MENGE.
*
WA_FINAL-NETPR = ( WA_EKPO-NETPR / WA_EKPO-PEINH ).
"Added by p
ramod on 30.05.2016
WA_FINAL-NETPR = WA_EKPO-NETPR.
*******************************Added by pramod on 16.06.2016***********
WA_FINAL-WAERS = WA_EKPO-WAERS.
WA_FINAL-PEINH = WA_EKPO-PEINH.
WA_FINAL-BPRME = WA_EKPO-BPRME.
***************************End of changes by pramod on 16.06.2016*****
WA_FINAL-NAVNW = WA_EKPO-NAVNW.
WA_FINAL-EFFWR = WA_EKPO-EFFWR.
WA_FINAL-WERKS = WA_EKPO-WERKS.
*
WA_FINAL-PO_DEL = WA_EKPO-LOEKZ. "ADDED BY PRAMOD ON 01.06.2016
WA_FINAL-MATNR = WA_EKPO-MATNR.
WA_FINAL-TXZ01 = WA_EKPO-TXZ01.
WA_FINAL-BEDAT = WA_EKPO-BEDAT.
WA_FINAL-BANFN = WA_EKPO-BANFN.
WA_FINAL-BNFPO = WA_EKPO-BNFPO.
WA_FINAL-MEINS = WA_EKPO-MEINS.
IF WA_FINAL-BWART IS INITIAL.
CONTINUE.
ENDIF.
READ TABLE IT_QALS INTO WA_QALS WITH KEY MBLNR = WA_EKBE-BELNR.
IF SY-SUBRC EQ 0.
READ TABLE IT_QAVE INTO WA_QAVE WITH KEY PRUEFLOS = WA_QALSPRUEFLOS.
IF SY-SUBRC EQ 0.
WA_FINAL-VCODE = WA_QAVE-VCODE.
WA_FINAL-VDATUM = WA_QAVE-VDATUM.
ENDIF.
ENDIF.
READ TABLE IT_EBAN INTO WA_EBAN WITH KEY BANFN = WA_FINAL-BANFN
BNFPO = WA_FINAL-BNFPO.
IF SY-SUBRC EQ 0.
WA_FINAL-FLAG = 'X'.
WA_FINAL-MENGE = WA_EBAN-MENGE.
WA_FINAL-BADAT = WA_EBAN-BADAT.
IF WA_EBAN-LOEKZ IS NOT INITIAL.
WA_FINAL-PR_DEL = 'DELETED'. "ADDED BY PRAMOD ON 01.06.2016
ENDIF.
ENDIF.
READ TABLE IT_LFA1 INTO WA_LFA1 WITH KEY LIFNR = WA_FINAL-LIFNR.
IF SY-SUBRC EQ 0.
WA_FINAL-NAME1 = WA_LFA1-NAME1.
ENDIF.
READ TABLE IT_EKET INTO WA_EKET WITH
IF SY-SUBRC EQ 0.
WA_FINAL-EINDT = WA_EKET-EINDT.
ENDIF.
APPEND WA_FINAL TO IT_FINAL.
CLEAR WA_FINAL.
*
DELETE IT_FINAL[] WHERE BWART IS INITIAL.
ENDLOOP.
ELSE.
WA_FINAL-LIFNR = WA_EKPO-LIFNR.
WA_FINAL-EBELN = WA_EKPO-EBELN.
WA_FINAL-EBELP = WA_EKPO-EBELP.
WA_FINAL-DATE = WA_EKPO-BEDAT.
WA_FINAL-QTY = WA_EKPO-MENGE.
*
WA_FINAL-NETPR = ( WA_EKPO-NETPR / WA_EKPO-PEINH ).
mod on 30.05.2016.
"Added by pra
WA_FINAL-NETPR = WA_EKPO-NETPR.
*******************************Added by pramod on 16.06.2016***********
WA_FINAL-WAERS = WA_EKPO-WAERS.
WA_FINAL-PEINH = WA_EKPO-PEINH.
WA_FINAL-BPRME = WA_EKPO-BPRME.
***************************End of changes by pramod on 16.06.2016*****
WA_FINAL-NAVNW = WA_EKPO-NAVNW.
WA_FINAL-EFFWR = WA_EKPO-EFFWR.
WA_FINAL-WERKS = WA_EKPO-WERKS.
WA_FINAL-MATNR = WA_EKPO-MATNR.
WA_FINAL-TXZ01 = WA_EKPO-TXZ01.
WA_FINAL-BEDAT = WA_EKPO-BEDAT.
WA_FINAL-BANFN = WA_EKPO-BANFN.
WA_FINAL-BNFPO = WA_EKPO-BNFPO.
WA_FINAL-MEINS = WA_EKPO-MEINS.
READ TABLE IT_EBAN INTO WA_EBAN WITH KEY BANFN = WA_FINAL-BANFN
BNFPO = WA_FINAL-BNFPO.
IF SY-SUBRC EQ 0.
WA_FINAL-FLAG = 'X'.
WA_FINAL-MENGE = WA_EBAN-MENGE.
WA_FINAL-BADAT = WA_EBAN-BADAT.
IF WA_EBAN-LOEKZ IS NOT INITIAL.
WA_FINAL-PR_DEL = 'DELETED'. "ADDED BY PRAMOD ON 01.06.2016
ENDIF.
ENDIF.
READ TABLE IT_LFA1 INTO WA_LFA1 WITH KEY LIFNR = WA_FINAL-LIFNR.
IF SY-SUBRC EQ 0.
WA_FINAL-NAME1 = WA_LFA1-NAME1.
ENDIF.
READ TABLE IT_EKET INTO WA_EKET WITH
IF SY-SUBRC EQ 0.
WA_FINAL-EINDT = WA_EKET-EINDT.
ENDIF.
APPEND WA_FINAL TO IT_FINAL.
CLEAR: WA_FINAL, WA_EKPO.
ENDIF.
BREAK SBLABAP.
IF S_BANFN[] IS NOT INITIAL.
DELETE IT_FINAL WHERE BANFN NOT IN S_BANFN.
ENDIF.
ENDLOOP.
BNFPO.
IF P_RB2 EQ 'X'.
BREAK SBLABAP.
FIELD-SYMBOLS: <LFS_FINAL_COLL> TYPE TY_FINAL.
* BREAK SBLABAP.
LOOP AT IT_FINAL INTO WA_FINAL .
READ TABLE IT_FINAL1 ASSIGNING <LFS_FINAL_COLL>
WITH KEY EBELN = WA_FINAL-EBELN
EBELP = WA_FINAL-EBELP
MATNR = WA_FINAL-MATNR.
*
SHKZG
= WA_FINAL-SHKZG.
IF SY-SUBRC IS NOT INITIAL.
APPEND INITIAL LINE TO IT_FINAL1 ASSIGNING <LFS_FINAL_COLL>.
<LFS_FINAL_COLL>-EBELN = WA_FINAL-EBELN.
<LFS_FINAL_COLL>-EBELP = WA_FINAL-EBELP.
<LFS_FINAL_COLL>-BANFN = WA_FINAL-BANFN.
<LFS_FINAL_COLL>-MATNR = WA_FINAL-MATNR.
<LFS_FINAL_COLL>-LIFNR = WA_FINAL-LIFNR.
<LFS_FINAL_COLL>-WERKS = WA_FINAL-WERKS.
<LFS_FINAL_COLL>-MENGE = WA_FINAL-MENGE.
<LFS_FINAL_COLL>-MEINS = WA_FINAL-MEINS.
<LFS_FINAL_COLL>-TXZ01 = WA_FINAL-TXZ01.
<LFS_FINAL_COLL>-QTY = WA_FINAL-QTY.
<LFS_FINAL_COLL>-NAVNW = WA_FINAL-NAVNW.
<LFS_FINAL_COLL>-NETPR = WA_FINAL-NETPR.
*************************ADDED BY PRAMOD ON 16.06.2016***********
<LFS_FINAL_COLL>-WAERS = WA_FINAL-WAERS.
<LFS_FINAL_COLL>-PEINH = WA_FINAL-PEINH.
<LFS_FINAL_COLL>-BPRME = WA_FINAL-BPRME.
***********************End of Changes BY PRAMOD ON 16.06.2016*******
<LFS_FINAL_COLL>-EFFWR = WA_FINAL-EFFWR.
<LFS_FINAL_COLL>-BEDAT = WA_FINAL-BEDAT.
IF WA_FINAL-PR_DEL IS NOT INITIAL.
<LFS_FINAL_COLL>-PR_DEL = 'DELETED'. "ADDED BY PRAMOD ON 01.06.201
*
6
ENDIF.
*
<LFS_FINAL_COLL>-PR_DEL = WA_FINAL-PR_DEL.
"ADDED BY PRAMOD ON
01.06.2016
<LFS_FINAL_COLL>-BADAT = WA_FINAL-BADAT.
<LFS_FINAL_COLL>-NAME1 = WA_FINAL-NAME1.
<LFS_FINAL_COLL>-EINDT = WA_FINAL-EINDT.
ENDIF.
IF WA_FINAL-SHKZG = 'S'.
<LFS_FINAL_COLL>-LSMNG =
<LFS_FINAL_COLL>-LSMNG + WA_FINAL-LSMNG.
ELSE.
<LFS_FINAL_COLL>-LSMNG = <LFS_FINAL_COLL>-LSMNG - WA_FINAL-LSMNG.
ENDIF.
<LFS_FINAL_COLL>-PINDENT = <LFS_FINAL_COLL>-MENGE - <LFS_FINAL_COLL>QTY.
<LFS_FINAL_COLL>-PPO = <LFS_FINAL_COLL>-QTY - <LFS_FINAL_COLL>-LSMNG.
ENDLOOP.
CLEAR: WA_FINAL.
REFRESH IT_FINAL[].
IT_FINAL[] = IT_FINAL1[].
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&
Form FCAT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM FCAT .
CLEAR WA_FCAT.
REFRESH IT_FCAT.
*********************ADDED BY PRAMOD ON 01.06.2016****************
* WA_FCAT-FIELDNAME = 'PO_DEL'.
* WA_FCAT-SELTEXT_M = 'PO Deletion Status'.
* APPEND WA_FCAT TO IT_FCAT.
* CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'PR_DEL'.
WA_FCAT-SELTEXT_M = 'PR Deletion Status'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
*********************END OF CHANGES BY PRAMOD ON 01.06.2016**********
WA_FCAT-FIELDNAME = 'BANFN'.
WA_FCAT-SELTEXT_M = 'Indent No.'.
WA_FCAT-FIELDNAME = 'EBELN'.
WA_FCAT-SELTEXT_M = 'PO No.'.
WA_FCAT-KEY
= 'X'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'BEDAT'.
WA_FCAT-SELTEXT_M = 'PO Date'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'QTY'.
WA_FCAT-SELTEXT_M = 'PO Qty'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'MEINS'.
WA_FCAT-SELTEXT_M = 'UOM'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'NETPR'.
WA_FCAT-SELTEXT_M = 'Basic Rate'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'EFFWR'.
WA_FCAT-SELTEXT_M = 'Total value PO'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'PDATE'.
WA_FCAT-SELTEXT_M = 'Posting Date'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'LSMNG'.
WA_FCAT-SELTEXT_M = 'Qty Received'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'WERKS'.
WA_FCAT-SELTEXT_M = 'Plant'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-SELTEXT_M = 'Material No.'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'TXZ01'.
WA_FCAT-SELTEXT_M = 'Material Desc'.
WA_FCAT-FIELDNAME = 'BELNR'.
WA_FCAT-SELTEXT_M = 'MRN No.'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'BWART'.
WA_FCAT-SELTEXT_M = 'Movement Type'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'SHKZG'.
WA_FCAT-SELTEXT_M = '+/-'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'VDATUM'.
WA_FCAT-SELTEXT_M = 'Date of QC Appr.'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'VCODE'.
WA_FCAT-SELTEXT_M = 'QC Status'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
IF P_RB2 EQ 'X'.
WA_FCAT-FIELDNAME = 'PINDENT'.
WA_FCAT-SELTEXT_M = 'Pending Indent Qty'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'PPO'.
WA_FCAT-SELTEXT_M = 'Pending PO Qty'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&
Form LAYOUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM LAYOUT .
WA_LAYOUT-ZEBRA = 'X'.
WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
ENDFORM.
*&---------------------------------------------------------------------*
*&
Form DISPLAY
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM DISPLAY .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM
= SY-CPROG
IT_FIELDCAT
= IT_FCAT
IS_LAYOUT
= WA_LAYOUT
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_SAVE
= 'A'
TABLES
T_OUTTAB
= IT_FINAL.
ENDFORM.