Custom Search

Monday, July 28, 2008

SAP MM Customized reports

1. Report Giving List of PO released for the Period.
This report gives the list of released POs along with the user IDs who has released these POs.

selection parameters -PO Number/Doc date/Pur Org/Bus. Area

Following is the abap code


REPORT ZGSMLMMRO_PO_RELEASED_NEW NO STANDARD PAGE HEADING
LINE-SIZE 110 MESSAGE-ID ZM.

*********************************************************************
* Report Name : Zgsmlmmro_po_released *
* Description : To Print Orders Released for the Period *
* Date : 03rd May, 2000 *
* Author : M Nayak *
*********************************************************************

* MODIFICATION SUMMARY
*********************************************************************
* New Report Name : ZGSMLMMRO_PO_RELEASED_NEW
* Description : To Print Orders Released for the Period
* Modification Date: 21-01-2008
* Modified By Suyog Karanjikar (NBSTEAM-ABAP)
* Modification Purpose:
* 1. Add two selection criteria:Business area and Purchase org.
* 2. Add Two extra Colomns Business Area and PO Rel Date
* 3. To Correct error :Sometimes against PO -> Name Not Picked
* 4. Pick up data Busuness Area Wise
*********************************************************************

TABLES : EKKO, " Purchasing Document Header
EKPO, " Purchasing Document Item
T16FE, " Descriptions of Release Indicators: Purchasing Documen
T16FK, " Release Statuses
T001, " Company Codes
CDHDR, " Change document header
*START ADDED BY SUYOG 21-01-08
MSEG, "Document Segment: Material
EKKN."Account Assignment in Purchasing Document
*END ADDED BY SUYOG 21-01-08

DATA : BEGIN OF ITAB OCCURS 0,
BUKRS LIKE EKKO-BUKRS,
EBELN LIKE EKKO-EBELN, " Purchasing document number
*START ADDED BY SUYOG 21-01-08
EKORG LIKE EKKO-EKORG,"Purchasing Organization
gsber like ebkn-gsber,
aedat like ekko-aedat,"Date on Which Record Was Created
*END ADDED BY SUYOG 21-01-08
BEDAT LIKE EKKO-BEDAT, " Purchasing document date
FRGGR LIKE EKKO-FRGGR, " Release group
FRGSX LIKE EKKO-FRGSX, " Release strategy
FRGKE LIKE EKKO-FRGKE, " Release ind : purchasing doc
FRGZU LIKE EKKO-FRGZU, " Release status
FRGC1 LIKE T16FS-FRGC1," Release code
FRGC2 LIKE T16FS-FRGC2," Release code
FRGC3 LIKE T16FS-FRGC3," Release code
FRGC4 LIKE T16FS-FRGC4," Release code
FRGC5 LIKE T16FS-FRGC5," Release code
FRGC6 LIKE T16FS-FRGC6," Release code
FRGC7 LIKE T16FS-FRGC7," Release code
FRGC8 LIKE T16FS-FRGC8," Release code
NETWR LIKE EKPO-NETWR, "Purchase order value in order currency
werks like ekpo-werks , " added by suyog 28-02-08
END OF ITAB.
*START ADDED BY SUYOG
data: itab5 like itab occurs 0 with header line.
*end ADDED BY SUYOG

DATA : BEGIN OF ITAB2 OCCURS 0,
FRGKE LIKE EKKO-FRGKE,"Release Indicator: Purchasing Document
IND TYPE C,
END OF ITAB2.

*START ADDED BY SUYOG to collect rel date
DATA : BEGIN OF ITAB3 OCCURS 0,
USERNAME like CDHDR-USERNAME,
TCODE like CDHDR-TCODE,
UDATE like CDHDR-UDATE,"Creation date of the change document
"i.e PO relesed date
END OF ITAB3.
*END ADDED BY SUYOG

DATA : W_NETWR LIKE EKPO-NETWR, "Net Order Value in PO Currency
W_TOTAL LIKE EKPO-NETWR, "Net Order Value in PO Currency
W_FRGKX LIKE T16FK-FRGKX, "Release indicator
W_FRGET LIKE T16FE-FRGET, "Description of release indicator C 30
W_CO_NAME LIKE T001-BUTXT,"Name of Company Code or Company

W_FRGC1 LIKE T16FS-FRGC1, "Release code
W_FRGC2 LIKE T16FS-FRGC2, "Release code
W_FRGC3 LIKE T16FS-FRGC3, "Release code
W_FRGC4 LIKE T16FS-FRGC4, "Release code
W_FRGC5 LIKE T16FS-FRGC5, "Release code
W_FRGC6 LIKE T16FS-FRGC6, "Release code
W_FRGC7 LIKE T16FS-FRGC7, "Release code
W_FRGC8 LIKE T16FS-FRGC8, "Release code
W_FRGCX LIKE T16FS-FRGC1, "Release code
po_no like ekko-ebeln,
I TYPE I,
W_X_POS TYPE I,
W_FRGKE LIKE EKKO-FRGKE, "Release Indicator: Purchasing Document
W_COUNT TYPE I,
W_POS1 TYPE C,
W_POS2 TYPE C,
W_POS3 TYPE C,
W_POS4 TYPE C,
W_POS5 TYPE C,
W_POS6 TYPE C,
W_POS7 TYPE C,
W_POS8 TYPE C,
W_USERNAME LIKE CDHDR-USERNAME, "User name of the person
"responsible in change document
W_REL TYPE I, "Used for Rel. Procedure no. Hiercharchy.
W_REC_NO TYPE I,
po_rel_date like CDHDR-UDATE."added bu suyog 01-02-08


SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN,"Purchasing Document Number
" default'4500001358' to '4500001359',
S_BEDAT FOR EKKO-BEDAT OBLIGATORY "Purc Doc Date
DEFAULT SY-DATUM TO SY-DATUM,
*START ADDED BY SUYOG 21-01-08
S_EKORG FOR EKKO-EKORG,
S_GSBER FOR MSEG-GSBER no intervals."." OBLIGATORY .
*END ADDED BY SUYOG 21-01-08

INITIALIZATION.

START-OF-SELECTION.

SELECT BUKRS EBELN BEDAT FRGGR FRGSX FRGKE FRGZU EKORG"aedat
FROM EKKO INTO
(ITAB5-BUKRS, ITAB5-EBELN,ITAB5-BEDAT,ITAB5-FRGGR,
ITAB5-FRGSX, ITAB5-FRGKE, ITAB5-FRGZU,ITAB5-EKORG)",ITAB5-aedat)
WHERE BEDAT IN S_BEDAT
AND EBELN IN S_EBELN
AND EKORG IN S_EKORG." and frgke = 'O'.
APPEND ITAB5.
ENDSELECT.

*added by suyog to get BA 28-02-08
LOOP AT ITAB5.
SELECT SINGLE werks FROM EKPO INTO ITAB5-werks
WHERE EBELN = ITAB5-EBELN.
MODIFY ITAB5.
ENDLOOP.

loop at ITAB5.
IF ITAB5-werks = 'GSM1'.
ITAB5-gsber = 'GSMR'.
modify ITAB5.
ELSEIF ITAB5-werks = 'GSM2'.
ITAB5-gsber = 'GSMR'.
modify ITAB5.
ELSEIF ITAB5-werks = 'GSM3'.
ITAB5-gsber = 'GHO'.
modify ITAB5.
ELSEIF ITAB5-werks = 'GSM4'.
ITAB5-gsber = 'GLAK'.
modify ITAB5.
ELSEIF ITAB5-werks = 'GSM5'.
ITAB5-gsber = 'GGEN'.
modify ITAB5.
ELSEIF ITAB5-werks = 'GSM6'.
ITAB5-gsber = 'SAK'.
modify ITAB5.
ELSEIF ITAB5-werks = 'GSM7'.
ITAB5-gsber = 'SMR'.
modify ITAB5.
ELSEIF ITAB5-werks = 'GSM8'.
ITAB5-gsber = 'GHO'.
modify ITAB5.
ELSEIF ITAB5-werks = 'GM21'.
ITAB5-gsber = 'GIND'.
modify ITAB5.
ELSEIF ITAB5-werks = 'GM22'.
ITAB5-gsber = 'GPRA'.
modify ITAB5.
ELSEIF ITAB5-werks = 'GM23'.
ITAB5-gsber = 'CTUL'.
modify ITAB5.
ENDIF.
ENDLOOP.
*added by suyog to get BA 28-02-08

clear ITAB5.
***start added by suyog 04-03-08
loop at ITAB5.
if ITAB5-gsber = s_gsber-low." or ITAB5-gsber = s_gsber-high .
move-corresponding ITAB5 to ITAB .
append ITAB.
endif.
endloop.

loop at ITAB5.
if s_gsber = ''. "-low = '' and s_gsber-high = ''.
move-corresponding ITAB5 to ITAB .
append ITAB.
endif.
endloop.
***end added by suyog 04-03-08
clear itab5.

IF SY-SUBRC <> 0 .
WRITE:/ 'No Records Selected for the Period'.
ELSE.
PERFORM PROCESS_PARA.
ENDIF.

END-OF-SELECTION.

*To assign release code according to see fields at EKKO
LOOP AT ITAB.
SELECT FRGC1 FRGC2 FRGC3 FRGC4 FRGC5 FRGC6 FRGC7 FRGC8
FROM T16FS
INTO (W_FRGC1, W_FRGC2, W_FRGC3, W_FRGC4,
W_FRGC5, W_FRGC6,W_FRGC7, W_FRGC8)
WHERE FRGGR = ITAB-FRGGR
AND FRGSX = ITAB-FRGSX.

MOVE W_FRGC1 TO ITAB-FRGC1.
MOVE W_FRGC2 TO ITAB-FRGC2.
MOVE W_FRGC3 TO ITAB-FRGC3.
MOVE W_FRGC4 TO ITAB-FRGC4.
MOVE W_FRGC5 TO ITAB-FRGC5.
MOVE W_FRGC6 TO ITAB-FRGC6.
MOVE W_FRGC7 TO ITAB-FRGC7.
MOVE W_FRGC8 TO ITAB-FRGC8.

MODIFY ITAB.
ENDSELECT.
ENDLOOP.

PERFORM PRINT_PARA.

*&---------------------------------------------------------------------*
*& Form PRINT_PARA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM PRINT_PARA.

LOOP AT ITAB.
PERFORM MOVE_FRGCX.
PERFORM ANALYZE_FRGZU.

LOOP AT ITAB2.
IF SY-TABIX = 1.
MOVE ITAB2-FRGKE TO W_FRGKE. "Rel Ind: Purch Doc
PERFORM GET_DESIGNATION_DESCRIPTION.
MOVE 1 TO W_REL.
PERFORM GET_USERNAME.
PERFORM GET_REL_DATE. "added susyog

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

WRITE :/
ITAB-EBELN,
14 ITAB-BEDAT,
28 po_rel_date,
41 ITAB-gsber,
51 W_FRGET,
72 ITAB-NETWR,
94 W_USERNAME.
ELSE.
* elseif sy-tabix = 2.
IF W_POS2 = 'X'.
MOVE ITAB2-FRGKE TO W_FRGKE.
PERFORM GET_DESIGNATION_DESCRIPTION.
MOVE 2 TO W_REL.
PERFORM GET_USERNAME.
*** PERFORM GET_REL_DATE. "added susyog
****start above code chaged by suyog as follow 01-02-08
*** WRITE :/28 itab3-udate,51 W_FRGET, 94 W_USERNAME.
****end above code chaged by suyog as follow 01-02-08
WRITE :/51 W_FRGET, 94 W_USERNAME.
CLEAR W_POS2.
CONTINUE.
ENDIF.
* elseif sy-tabix = 3.
IF W_POS3 = 'X'.
MOVE ITAB2-FRGKE TO W_FRGKE.
PERFORM GET_DESIGNATION_DESCRIPTION.
MOVE 3 TO W_REL.
PERFORM GET_USERNAME.
* PERFORM GET_REL_DATE. "added susyog
**start above code chaged by suyog as follow 01-02-08
* WRITE :/28 itab3-udate,51 W_FRGET, 94 W_USERNAME.
**end above code chaged by suyog as follow 01-02-08
WRITE :/51 W_FRGET,94 W_USERNAME.
CLEAR W_POS3.
CONTINUE.
ENDIF.
* elseif sy-tabix = 4.
IF W_POS4 = 'X'.
MOVE ITAB2-FRGKE TO W_FRGKE.
PERFORM GET_DESIGNATION_DESCRIPTION.
MOVE 4 TO W_REL.
PERFORM GET_USERNAME.
* PERFORM GET_REL_DATE. "added susyog
**start above code chaged by suyog as follow 01-02-08
* WRITE :/28 itab3-udate,51 W_FRGET, 94 W_USERNAME.
**end above code chaged by suyog as follow 01-02-08
WRITE :/51 W_FRGET,94 W_USERNAME.
CLEAR W_POS4.
CONTINUE.
ENDIF.
* elseif sy-tabix = 5.
IF W_POS5 = 'X'.
MOVE ITAB2-FRGKE TO W_FRGKE.
PERFORM GET_DESIGNATION_DESCRIPTION.
MOVE 5 TO W_REL.
PERFORM GET_USERNAME.
* PERFORM GET_REL_DATE. "added susyog
**start above code chaged by suyog as follow 01-02-08
* WRITE :/28 itab3-udate,51 W_FRGET, 94 W_USERNAME.
**end above code chaged by suyog as follow 01-02-08
WRITE :/51 W_FRGET,94 W_USERNAME.
CLEAR W_POS5.
CONTINUE.
ENDIF.
* elseif sy-tabix = 6.
IF W_POS6 = 'X'.
MOVE ITAB2-FRGKE TO W_FRGKE.
PERFORM GET_DESIGNATION_DESCRIPTION.
MOVE 6 TO W_REL.
PERFORM GET_USERNAME.
* PERFORM GET_REL_DATE. "added susyog
**start above code chaged by suyog as follow 01-02-08
* WRITE :/28 itab3-udate,51 W_FRGET, 94 W_USERNAME.
**end above code chaged by suyog as follow 01-02-08
WRITE :/51 W_FRGET,94 W_USERNAME.
CLEAR W_POS6.
CONTINUE.
ENDIF.
* elseif sy-tabix = 7.
IF W_POS7 = 'X'.
MOVE ITAB2-FRGKE TO W_FRGKE.
PERFORM GET_DESIGNATION_DESCRIPTION.
MOVE 7 TO W_REL.
PERFORM GET_USERNAME.
* PERFORM GET_REL_DATE. "added susyog
**start above code chaged by suyog as follow 01-02-08
* WRITE :/28 itab3-udate,51 W_FRGET, 94 W_USERNAME.
**end above code chaged by suyog as follow 01-02-08
WRITE :/51 W_FRGET,94 W_USERNAME.
CLEAR W_POS7.
CONTINUE.
ENDIF.
* elseif sy-tabix = 8.
IF W_POS8 = 'X'.
MOVE ITAB2-FRGKE TO W_FRGKE.
PERFORM GET_DESIGNATION_DESCRIPTION.
MOVE 8 TO W_REL.
PERFORM GET_USERNAME.
* PERFORM GET_REL_DATE. "added susyog
**start above code chaged by suyog as follow 01-02-08
* WRITE :/28 itab3-udate,51 W_FRGET, 94 W_USERNAME.
**end above code chaged by suyog as follow 01-02-08
WRITE :/51 W_FRGET,94 W_USERNAME.
ENDIF.
ENDIF.

IF ITAB2-FRGKE = ITAB-FRGKE.
EXIT.
ENDIF.

ENDLOOP.

IF ITAB-FRGKE = 'O'. "PO Released Indicator
MOVE ITAB-FRGKE TO W_FRGKE.
PERFORM GET_DESIGNATION_DESCRIPTION.
*** WRITE:/28 itab3-udate.
WRITE :/51 W_FRGET.
ENDIF.

FORMAT COLOR OFF.
ENDLOOP.

ULINE.
FORMAT COLOR COL_HEADING INVERSE.
WRITE :/ '***** End of report *****'.
FORMAT COLOR OFF.
ENDFORM. "PRINT_PARA


*&---------------------------------------------------------------------*
*& Form ANALYZE_FRGZU
*&---------------------------------------------------------------------*
* ANALYZE Release status
*----------------------------------------------------------------------*
FORM ANALYZE_FRGZU.

W_COUNT = 0.
CLEAR : W_POS1, W_POS2, W_POS3, W_POS4, W_POS5, W_POS6, W_POS7,
W_POS8.

DO 8 TIMES.
SEARCH ITAB-FRGZU FOR 'X'
STARTING AT SY-INDEX ENDING AT SY-INDEX.

IF SY-SUBRC = 0.
IF SY-INDEX = 1.
W_POS1 = 'X'.
ELSEIF SY-INDEX = 2.
W_POS2 = 'X'.
ELSEIF SY-INDEX = 3.
W_POS3 = 'X'.
ELSEIF SY-INDEX = 4.
W_POS4 = 'X'.
ELSEIF SY-INDEX = 5.
W_POS5 = 'X'.
ELSEIF SY-INDEX = 6.
W_POS6 = 'X'.
ELSEIF SY-INDEX = 7.
W_POS7 = 'X'.
ELSEIF SY-INDEX = 8.
W_POS8 = 'X'.
ENDIF.
ENDIF.
ENDDO.

LOOP AT ITAB2.
IF SY-TABIX = 1.
IF W_POS1 = 'X'.
ELSE.
MOVE 'D' TO ITAB2-IND. MODIFY ITAB2.
ENDIF.
ELSEIF SY-TABIX = 2.
IF W_POS2 = 'X'.
ELSE.
MOVE 'D' TO ITAB2-IND. MODIFY ITAB2.
ENDIF.
ELSEIF SY-TABIX = 3.
IF W_POS3 = 'X'.
ELSE.
MOVE 'D' TO ITAB2-IND. MODIFY ITAB2.
ENDIF.
ELSEIF SY-TABIX = 4.
IF W_POS4 = 'X'.
ELSE.
MOVE 'D' TO ITAB2-IND. MODIFY ITAB2.
ENDIF.
ELSEIF SY-TABIX = 5.
IF W_POS5 = 'X'.
ELSE.
MOVE 'D' TO ITAB2-IND. MODIFY ITAB2.
ENDIF.
ELSEIF SY-TABIX = 6.
IF W_POS6 = 'X'.
ELSE.
MOVE 'D' TO ITAB2-IND. MODIFY ITAB2.
ENDIF.
ELSEIF SY-TABIX = 7.
IF W_POS7 = 'X'.
ELSE.
MOVE 'D' TO ITAB2-IND. MODIFY ITAB2.
ENDIF.
ELSEIF SY-TABIX = 8.
IF W_POS8 = 'X'.
ELSE.
MOVE 'D' TO ITAB2-IND. MODIFY ITAB2.
ENDIF.

ENDIF.
ENDLOOP.

LOOP AT ITAB2.
DELETE ITAB2 WHERE IND = 'D'.
ENDLOOP.

ENDFORM. "ANALYZE_FRGZU


*&---------------------------------------------------------------------*
*& Form MOVE_FRGCX
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM MOVE_FRGCX. " Rel Code

CLEAR ITAB2.
REFRESH ITAB2.

DO 8 TIMES.
IF SY-INDEX = 1.
MOVE ITAB-FRGC1 TO W_FRGCX. "Release code
ELSEIF SY-INDEX = 2.
MOVE ITAB-FRGC2 TO W_FRGCX.
ELSEIF SY-INDEX = 3.
MOVE ITAB-FRGC3 TO W_FRGCX.
ELSEIF SY-INDEX = 4.
MOVE ITAB-FRGC4 TO W_FRGCX.
ELSEIF SY-INDEX = 5.
MOVE ITAB-FRGC5 TO W_FRGCX.
ELSEIF SY-INDEX = 6.
MOVE ITAB-FRGC6 TO W_FRGCX.
ELSEIF SY-INDEX = 7.
MOVE ITAB-FRGC7 TO W_FRGCX.
ELSEIF SY-INDEX = 8.
MOVE ITAB-FRGC8 TO W_FRGCX.
ENDIF.

IF W_FRGCX = 'A'.
MOVE 'A' TO ITAB2-FRGKE.
APPEND ITAB2. CLEAR ITAB2.
ENDIF.

IF W_FRGCX = 'B'.
MOVE 'B' TO ITAB2-FRGKE.
APPEND ITAB2. CLEAR ITAB2.
ENDIF.

IF W_FRGCX = 'C'.
MOVE 'C' TO ITAB2-FRGKE.
APPEND ITAB2. CLEAR ITAB2.
ENDIF.

IF W_FRGCX = 'D'.
MOVE 'D' TO ITAB2-FRGKE.
APPEND ITAB2. CLEAR ITAB2.
ENDIF.

IF W_FRGCX = 'E'.
MOVE 'E' TO ITAB2-FRGKE.
APPEND ITAB2. CLEAR ITAB2.
ENDIF.

IF W_FRGCX = 'F'.
MOVE 'F' TO ITAB2-FRGKE.
APPEND ITAB2. CLEAR ITAB2.
ENDIF.

IF W_FRGCX = 'G'.
MOVE 'H' TO ITAB2-FRGKE.
APPEND ITAB2. CLEAR ITAB2.
ENDIF.

IF W_FRGCX = 'H'.
MOVE 'G' TO ITAB2-FRGKE.
APPEND ITAB2. CLEAR ITAB2.
ENDIF.

IF W_FRGCX = 'I'.
MOVE 'I' TO ITAB2-FRGKE.
APPEND ITAB2. CLEAR ITAB2.
ENDIF.

IF W_FRGCX = 'J'.
MOVE 'J' TO ITAB2-FRGKE.
APPEND ITAB2. CLEAR ITAB2.
ENDIF.
****start added by suyog
IF W_FRGCX = 'Q'.
MOVE 'Q' TO ITAB2-FRGKE.
APPEND ITAB2. CLEAR ITAB2.
ENDIF.

****end added by suyog

ENDDO.

ENDFORM. "MOVE_FRGCX

*&---------------------------------------------------------------------*
*& Form PROCESS_PARA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM PROCESS_PARA.

LOOP AT ITAB.

MOVE 0 TO : W_TOTAL.

SELECT NETWR FROM EKPO INTO (W_NETWR)
WHERE EBELN = ITAB-EBELN.
W_TOTAL = W_TOTAL + W_NETWR.
ENDSELECT.

IF SY-SUBRC = 0.
MOVE W_TOTAL TO ITAB-NETWR.
MODIFY ITAB.
ENDIF.

ENDLOOP.
ENDFORM. "PROCESS_PARA



*&---------------------------------------------------------------------*
*& Form GET_DESIGNATION_DESCRIPTION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_DESIGNATION_DESCRIPTION.

SELECT SINGLE * FROM T16FE
WHERE SPRAS = 'E'
AND FRGKE = W_FRGKE. "FRGKE = Release Ind: Purchasing Document

IF SY-SUBRC = 0.
MOVE T16FE-FRGET TO W_FRGET.
ELSE.
MOVE SPACE TO W_FRGET.
ENDIF.

ENDFORM. "GET_DESIGNATION_DESCRIPTION



TOP-OF-PAGE.

SELECT SINGLE * FROM T001
WHERE BUKRS = ITAB-BUKRS.
MOVE T001-BUTXT TO W_CO_NAME.

IF SY-SUBRC <> 0.
MOVE SPACE TO W_CO_NAME.
ENDIF.

FORMAT COLOR COL_HEADING INTENSIFIED OFF.

WRITE :/ W_CO_NAME, AT 60 'Run Date :', SY-DATUM.

WRITE :/'Report Id : ZGSMLMMRO_PO_RELEASED_NEW',
AT 60 'Page No. :', SY-PAGNO LEFT-JUSTIFIED, (03) ' '.

WRITE :/15() 'Orders Released for the period', S_BEDAT-LOW, 'to',
S_BEDAT-HIGH, (10) ' '.

FORMAT COLOR OFF.
FORMAT COLOR COL_HEADING INTENSIFIED.
ULINE.
WRITE :/
'PO No.',
14 'Doc Date',
28 'PO Rel Dt',
40 'Bus Area',
51 'Designation ',
79 'Value of PO',
93 'Name '.
ULINE.
FORMAT COLOR OFF.

*** End of Program ***

*&---------------------------------------------------------------------*
*& Form GET_USERNAME
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM GET_USERNAME. MOVE SPACE TO W_USERNAME. MOVE 1 TO W_REC_NO. SELECT * FROM CDHDR WHERE OBJECTCLAS = 'EINKBELEG' AND OBJECTID = ITAB-EBELN and TCODE in ('ME28','ME29N'). * CHECK CDHDR-TCODE = 'ME29N'. IF W_REC_NO = W_REL. MOVE CDHDR-USERNAME TO W_USERNAME. EXIT. ELSE. MOVE SPACE TO W_USERNAME. ENDIF. ADD 1 TO W_REC_NO. ENDSELECT. ENDFORM. " GET_USERNAME *&---------------------------------------------------------------------* *& Form GET_REL_DATE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_REL_DATE.

SELECT * FROM CDHDR
WHERE OBJECTCLAS = 'EINKBELEG'
AND OBJECTID = ITAB-EBELN
and TCODE in ('ME28','ME29N').

* CHECK CDHDR-TCODE = 'ME29N'.

MOVE CDHDR-udate TO po_rel_date.
ENDSELECT.

**
*** ****Start added by By Suyog 28-01-08 to get PO rel Date
** loop at itab.
** SELECT USERNAME UDATE TCODE
** FROM CDHDR INTO
** (ITAB3-USERNAME,ITAB3-UDATE,ITAB3-TCODE)
**
** WHERE OBJECTCLAS = 'EINKBELEG'
** and OBJECTID = itab-ebeln
** AND TCODE IN ('ME28','ME29N').
**
** append itab3.
** endselect.
** endloop.
**
***** clear itab3.
*** ****End added by By Suyog 28-01-08 to get PO rel Date
**
**
ENDFORM. " GET_REL_DATE

1 comment:

leka said...

Hi!!
I am very glad to see this blog for the instructive matter to build the carrier in sap mm you done a good job.the way you thought is nice, like this we are also showing to the people carrier way with the SAP MM TRAINING in Hyderabadto get the best opt.