Sie sind auf Seite 1von 30

*----------------------------------------------------------------------*

* 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,

VSTEL TYPE VSTEL,


VRKME TYPE VRKME,
ZIEME TYPE DZIEME,
CUOBJ TYPE CUOBJ,
ABGRU TYPE ABGRU,
MATKL TYPE MATKL,
END OF TY_VBAP.
TYPES:BEGIN OF TY_MCHB,
MATNR TYPE MATNR,
WERKS TYPE WERKS_D,
LGORT TYPE LGORT_D,
CHARG TYPE CHARG_D,
CLABS TYPE LABST,
ERSDA TYPE ERSDA,
END OF TY_MCHB.
TYPES:BEGIN OF TY_MCHA,
MATNR TYPE MATNR,
WERKS TYPE WERKS_D,
CHARG TYPE CHARG_D,
ERSDA TYPE ERSDA,
END OF TY_MCHA.
TYPES:BEGIN OF TY_MSKA,
MATNR TYPE MATNR,
WERKS TYPE WERKS_D,
LGORT TYPE LGORT_D,
CHARG TYPE CHARG_D,
SOBKZ TYPE SOBKZ,
VBELN TYPE VBELN,
POSNR TYPE POSNR,
KALAB TYPE LABST,
ERSDA TYPE ERSDA,
END OF TY_MSKA.

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,

TYPES: BEGIN OF TY_FINALTEMP,


POSNR TYPE POSNR_VA,
MATNR TYPE MATNR,
KALAB TYPE CHAR13, " dlabst "char13,
ACTQTY TYPE CHAR13,
CHARG TYPE CHARG_D,
END OF TY_FINALTEMP.
TYPES: BEGIN OF TY_OO14_OO15,
VBELN TYPE VBELN_VA,
LGORT TYPE LGORT_D,

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,

VBELN TYPE VBELN_VL,


POSNR TYPE POSNR_VL,
MATNR TYPE MATNR,
WERKS TYPE WERKS_D,
LGORT TYPE LGORT_D,
CHARG TYPE CHARG_D,
VGBEL TYPE VGBEL,
VGPOS TYPE VGPOS,
END OF TY_LIPS.
TYPES: BEGIN OF TY_VBUK,
VBELN TYPE VBELN,
WBSTK TYPE WBSTK,
END OF TY_VBUK.
TYPES: BEGIN OF TY_VBUP,
VBELN TYPE VBELN,
POSNR TYPE POSNR,
LFSTA TYPE LFSTA,
END OF TY_VBUP.
DATA : WA_VBUP TYPE TY_VBUP,
IT_VBUP TYPE STANDARD TABLE OF TY_VBUP.
TYPES: BEGIN OF TY_HU,
CHARG TYPE CHARG_D,
VENUM TYPE VENUM,
EXIDV TYPE EXIDV,
END OF TY_HU.
TYPES : BEGIN OF ST_NOR,
NRRANGENR TYPE NRNR,
END OF ST_NOR.
DATA : WA_HUP TYPE TY_HU,
IT_HU TYPE STANDARD TABLE OF TY_HU.
TYPES: BEGIN OF TY_ORD_CHAR.
INCLUDE STRUCTURE CONF_OUT.
TYPES: END OF TY_ORD_CHAR.
TYPES: BEGIN OF TY_MAKT.
INCLUDE STRUCTURE MAKT.
TYPES: END OF TY_MAKT.
TYPES: BEGIN OF TY_MVKE.
INCLUDE STRUCTURE MVKE.
TYPES: END OF TY_MVKE.
TYPES: BEGIN OF TY_PKGLST.
INCLUDE STRUCTURE ZSD_PACKLIST_GEN.
TYPES: END OF TY_PKGLST.
TYPES: BEGIN OF TY_MARM.

INCLUDE STRUCTURE MARM.


TYPES: END OF TY_MARM.
TYPES: BEGIN OF TY_DEPOT.
INCLUDE STRUCTURE ZDEPOT.
TYPES: END OF TY_DEPOT.

TYPES: BEGIN OF TY_A501.


INCLUDE STRUCTURE A501.
TYPES: KBETR TYPE KBETR.
TYPES: KOPOS TYPE POSNR.
TYPES: END OF TY_A501.
TYPES: BEGIN OF TY_A509.
INCLUDE STRUCTURE A509.
TYPES: KBETR TYPE KBETR.
TYPES: KOPOS TYPE POSNR.
TYPES: END OF TY_A509.

TYPES: BEGIN OF TY_A004.


INCLUDE STRUCTURE A004.
TYPES: KBETR TYPE KBETR.
TYPES: KOPOS TYPE POSNR.
TYPES: END OF TY_A004.
TYPES: BEGIN OF VALUES,
PACK_NO
TYPE NUM10,
ERDAT
TYPE SY-DATUM,
V_DELIVERY TYPE VBELN,
END OF VALUES.
TYPES: BEGIN OF TY_EXCISE,
VBELN
TYPE VBELN,
PACK_NO TYPE ZSD_PACKLIST_GEN-PACK_NO,
END OF TY_EXCISE .
DATA : GV_ORD(1) TYPE C.
DATA: NAME
TYPE VRM_ID,
IT_LST TYPE VRM_VALUES.
*** Field Catalogue Definition
DATA:
IT_FIELDCAT
TYPE LVC_T_FCAT.
DATA:
BDCDATA
LIKE BDCDATA
OCCURS 0 WITH HEADER LINE.
DATA:
MESSTAB
LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
**** Container Class Definition
DATA: W_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
W_GRID
TYPE REF TO CL_GUI_ALV_GRID,
W_TOOLBAR
TYPE UI_FUNCTIONS.

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

*** Data Declaration

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,

IT_ZPACK_LIST_GEN_U TYPE STANDARD TABLE OF ZSD_PACKLIST_GEN WITH HEADER


LINE,

DATA:
DATA:

IT_ZNOR
WA_ZNOR

TYPE STANDARD TABLE OF ZNORANGE,


TYPE ZNORANGE,

IT_ZNOR1
WA_ZNOR1

TYPE STANDARD TABLE OF ST_NOR,


TYPE ST_NOR.

WA_ZPACK_LIST_GEN TYPE ZSD_PACKLIST_GEN.


WA_MAKT TYPE TY_MAKT.

DATA: V_LABOR TYPE MARA-LABOR.


TYPES:
BEGIN OF TY_MATKL,
MATKL TYPE MATKL,
WIDTH TYPE CHAR6,
END OF TY_MATKL.
TYPES:
BEGIN OF TY_WGBEZ,
MATNR TYPE MATNR,
WGBEZ TYPE WGBEZ,
END OF TY_WGBEZ.
TYPES:
BEGIN OF TY_MATWA,
MATWA TYPE LIPS-MATWA,
END OF TY_MATWA.
TYPES: BEGIN OF TY_LGORT,
WERKS TYPE WERKS_D,
LGORT TYPE LGORT_D,
LGOBE TYPE LGOBE,
END OF TY_LGORT.
TYPES: BEGIN OF TY_PLANT,
WERKS TYPE WERKS_D,
NAME1 TYPE NAME1,
END OF TY_PLANT.
TYPES: BEGIN OF TY_PACKNO, " added by kalpana on 17 july 2015
WERKS
TYPE WERKS_D,
VBELN
TYPE VBELN,
PACK_NO TYPE NUM10,
END OF TY_PACKNO.
DATA: NOOFROLLS TYPE CHAR4,
W_VRKME
TYPE VRKME.
DATA: W_AREA TYPE P DECIMALS 4.
DATA: USER_RESET TYPE C.
*DATA: W_AREA1 TYPE ZROLL-AREA.
DATA: W_LENINCH(10) TYPE N.

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,

TYPE C VALUE '1.55001607',


TYPE C VALUE '2.205',
TYPE P DECIMALS 3.

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 TABLE OF TY_MATKL,


LIKE LINE OF IT_MATKL.
TYPE TABLE OF TY_WGBEZ,
LIKE LINE OF IT_WGBEZ.
TYPE TABLE OF TY_DEPOT,
LIKE LINE OF IT_DEPOT.

DATA:IT_LGORT TYPE TABLE OF TY_LGORT,


WA_LGORT LIKE LINE OF IT_LGORT.
DATA:IT_MATWA TYPE TABLE OF TY_MATWA,
WA_MATWA LIKE LINE OF IT_MATWA.
DATA: IT_PACK TYPE TABLE OF ZPACK_CAL,
WA_PACK TYPE ZPACK_CAL.
DATA: IT_PACKNO TYPE TABLE OF TY_PACKNO,
WA_PACKNO TYPE TY_PACKNO.
DATA: IT_A501 TYPE TABLE OF TY_A501,
WA_A501 TYPE TY_A501.
DATA: IT_A509 TYPE TABLE OF TY_A509,
WA_A509 TYPE TY_A509.
DATA: IT_A004
TYPE TABLE OF TY_A004,
IT_A004_TMP TYPE TABLE OF TY_A004,
WA_A004
TYPE TY_A004,
WA_A004_TMP TYPE TY_A004.
DATA: PROGNAME
DYNNUM

TYPE SY-REPID,
TYPE SY-DYNNR,

"'39.37',
"'2.20462',

DYNPRO_VALUES TYPE TABLE OF DYNPREAD,


FIELD_VALUE
LIKE LINE OF DYNPRO_VALUES,
RETURN_TAB
TYPE TABLE OF DDSHRETVAL WITH HEADER LINE,
VALUES_TAB
TYPE TABLE OF VALUES.
*--- data decleration for stock transfer ----------------------------------*
DATA: BEGIN OF GMHEAD.
INCLUDE STRUCTURE BAPI2017_GM_HEAD_01.
DATA: END OF GMHEAD.
DATA: BEGIN OF GMCODE.
INCLUDE STRUCTURE BAPI2017_GM_CODE.
DATA: END OF GMCODE.
DATA: BEGIN OF MTHEAD.
INCLUDE STRUCTURE BAPI2017_GM_HEAD_RET.
DATA: END OF MTHEAD.
DATA: BEGIN OF ITAB OCCURS 100.
INCLUDE STRUCTURE BAPI2017_GM_ITEM_CREATE.
DATA: END OF ITAB.
DATA: BEGIN OF ERRMSG OCCURS 10.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF ERRMSG.
DATA: WMENGE LIKE ISEG-MENGE,
ERRFLAG.
DATA: GW_PLANT TYPE TY_PLANT .
DATA: GV_PLANT TYPE WERKS_D.
DATA: BEGIN OF STITAB OCCURS 100,
MVT_TYPE(3),
"Movement Type
DOC_DATE(8),
"Document Date
POST_DATE(8),
"Posting Date
PLANT(4),
"Plant
MATERIAL(18),
"Material Number
QTY(13),
"Quantity
RECV_LOC(4),
"Receiving Location
ISSUE_LOC(4),
"Issuing Location
RECV_PLANT(4),
"Receiving Plant
END OF STITAB.
TYPES : BEGIN OF ST_ALV,
MBLNR
TYPE MBLNR,
MSG(80) TYPE C,
END OF ST_ALV.
DATA : IT_ALV TYPE STANDARD TABLE OF ST_ALV,
WA_ALV TYPE ST_ALV.
DATA : W_ITAB TYPE BAPI2017_GM_ITEM_CREATE .
DATA: LV_STKMSG(30) TYPE C.
DATA: LV_PACK(10) TYPE C.
DATA: LV_MBLNR TYPE MBLNR.

DATA :

TT_FIELDCAT TYPE LVC_T_FCAT,


W_FIELDCAT TYPE LVC_S_FCAT.
DATA: GIT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GWA_FIELDCAT TYPE
SLIS_FIELDCAT_ALV.
*------------------------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-T02.
PARAMETERS: P_PROB RADIOBUTTON GROUP REPT DEFAULT 'X' USER-COMMAND UCOMM,
P_FINAL RADIOBUTTON GROUP REPT.
*
P_POSS RADIOBUTTON GROUP REPT,
*
P_PRINT RADIOBUTTON GROUP REPT.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-T01.
PARAMETER:
P_ORDER TYPE VBAP-VBELN,
P_WERKS TYPE T001W-WERKS MODIF ID SIX,
P_WERKSD TYPE T001W-WERKS MODIF ID FIV,
P_LGORT TYPE MARD-LGORT MODIF ID ONE.
PARAMETERS: P_SPART TYPE VBAP-SPART MODIF ID ONE.
PARAMETER:
P_CASE TYPE NUM10 MODIF ID SEV.
SELECT-OPTIONS: P_PACK
FOR W_PACK_NO1 NO-EXTENSION NO INTERVALS MODIF ID T
WO.
SELECT-OPTIONS: P_PK
FOR W_PACK_NO1 MODIF ID TRE.
SELECT-OPTIONS: P_BUDAT FOR BKPF-BUDAT MODIF ID FOU.
PARAMETER : P_PDATE TYPE BKPF-BUDAT MODIF ID A .
""""ad
ded by indranil on 23112015 posting date in BAPI.
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PACK-LOW.
PERFORM GETPACKNO . " added by kalpana
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LGORT.
PERFORM GETLGORT .
AT LINE-SELECTION.
CHECK NOT P_PACK IS INITIAL.
LEAVE TO SCREEN 0.

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,

"ADDED BY PRAMOD ON 01.06.2016

"Added by pramod on 16-06-2016

PEINH TYPE PEINH,


BPRME TYPE BPRME,
NAVNW TYPE NAVNW,
EFFWR TYPE EFFWR,
WERKS TYPE WERKS_D,
MATNR TYPE MATNR,
TXZ01 TYPE TXZ01,
BANFN TYPE BANFN,
BNFPO TYPE BNFPO,
END OF TY_EKPO.

"Added by pramod on 30-05-2016


"Added by pramod on 16-06-2016

TYPES: BEGIN OF TY_EKBE,


EBELN TYPE EBELN,
EBELP TYPE EBELP,
MATNR TYPE MATNR,
ZEKKN TYPE DZEKKN,
VGABE TYPE VGABE,
GJAHR TYPE GJAHR,
BELNR TYPE MBLNR,
BUZEI TYPE MBLPO,
BUDAT TYPE BUDAT,
LSMNG TYPE LSMNG,
SHKZG TYPE SHKZG,
BWART TYPE BWART,
END OF TY_EKBE.
TYPES : BEGIN OF TY_LFA1,
LIFNR TYPE LIFNR,
NAME1 TYPE NAME1,
END OF TY_LFA1.
TYPES: BEGIN OF TY_EKET,
EBELN TYPE EBELN,
EBELP TYPE EBELP,
ETENR TYPE ETENR,
EINDT TYPE EINDT,
END OF TY_EKET.
TYPES : BEGIN OF TY_QALS,
PRUEFLOS TYPE QPLOS,
MBLNR
TYPE MBLNR,
END OF TY_QALS.
TYPES : BEGIN OF TY_QAVE,
PRUEFLOS TYPE QPLOS,
KZART
TYPE QKZART,
ZAEHLER TYPE QVEZAEHLER,
VCODE
TYPE QVCODE,
VDATUM
TYPE QVEDATUM,
END OF TY_QAVE.
TYPES: BEGIN OF TY_FINAL,

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,

ADDED BY PRAMOD ON 01.


ADDED BY PRAMOD ON 01.

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

"Added by pramod on 16.06.2016

"Added by pramod on 30.05.2016


"Added by pramod on 16.06.2016

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.

IF IT_EKBE IS NOT INITIAL.


SELECT PRUEFLOS
MBLNR FROM QALS
INTO TABLE IT_QALS
FOR ALL ENTRIES IN IT_EKBE
WHERE MBLNR = IT_EKBE-BELNR.
ENDIF.

IF IT_QALS IS NOT INITIAL.


SELECT PRUEFLOS
KZART
ZAEHLER
VCODE
VDATUM INTO TABLE IT_QAVE
FROM QAVE
FOR ALL ENTRIES IN IT_QALS
WHERE PRUEFLOS = IT_QALS-PRUEFLOS..
ENDIF.
SELECT LIFNR
NAME1
INTO TABLE IT_LFA1
FROM LFA1
FOR ALL ENTRIES IN IT_EKPO
WHERE LIFNR = IT_EKPO-LIFNR.

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

KEY EBELN = WA_FINAL-EBELN


EBELP = WA_FINAL-EBELP.

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

KEY EBELN = WA_FINAL-EBELN


EBELP = WA_FINAL-EBELP.

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.

IF IT_EBAN IS NOT INITIAL.


LOOP AT IT_EBAN INTO WA_EBAN.
READ TABLE IT_FINAL TRANSPORTING NO FIELDS WITH
BANFN

KEY BANFN = WA_EBANBNFPO = WA_EBAN-

BNFPO.

IF SY-SUBRC IS NOT INITIAL.


WA_FINAL-BANFN = WA_EBAN-BANFN.
IF WA_EBAN-LOEKZ IS NOT INITIAL.
WA_FINAL-PR_DEL = 'DELETED'. "ADDED BY PRAMOD ON 01.06.2016
ENDIF.
WA_FINAL-PR_DEL = WA_EBAN-LOEKZ. "ADDED BY PRAMOD ON 01.06.2016
WA_FINAL-MENGE = WA_EBAN-MENGE.
WA_FINAL-BADAT = WA_EBAN-BADAT.
WA_FINAL-BNFPO = WA_EBAN-BNFPO.
WA_FINAL-MATNR = WA_EBAN-MATNR.
WA_FINAL-TXZ01 = WA_EBAN-TXZ01.
APPEND WA_FINAL TO IT_FINAL.
ENDIF.
CLEAR WA_FINAL.
ENDLOOP.
CLEAR WA_EBAN.
ENDIF.

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.'.

APPEND WA_FCAT TO IT_FCAT.


CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'BADAT'.
WA_FCAT-SELTEXT_M = 'Indent Date'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'MENGE'.
WA_FCAT-SELTEXT_M = 'Indent Qty'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'LIFNR'.
WA_FCAT-SELTEXT_M = 'PO Vendor'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'NAME1'.
WA_FCAT-SELTEXT_M = 'Vendor Name'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

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.

*********************************Added by Pramod on 16.06.2016**********


WA_FCAT-FIELDNAME = 'WAERS'.
WA_FCAT-SELTEXT_M = 'Order Currency'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'PEINH'.
WA_FCAT-SELTEXT_M = 'Per'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'BPRME'.
WA_FCAT-SELTEXT_M = 'Order Price UOM'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
*********************************End of changes by Pramod on 16.06.2016******
****
WA_FCAT-FIELDNAME = 'NAVNW'.
WA_FCAT-SELTEXT_M = 'Other Expense as per PO'.
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'.

APPEND WA_FCAT TO IT_FCAT.


CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'EINDT'.
WA_FCAT-SELTEXT_M = 'Tentative Date ROM'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

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.

FORM USER_COMMAND USING RCOMM TYPE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD.


CASE RCOMM.
WHEN '&IC1'.
IF RS_SELFIELD-SEL_TAB_FIELD EQ '1-EBELN'.
SET PARAMETER ID 'BES' FIELD RS_SELFIELD-VALUE.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.

Das könnte Ihnen auch gefallen