Skip to main content

YCLASSICAL_JOINING

*&---------------------------------------------------------------------* *& Report  YCLASSICAL_JOINING *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT   yclassical_joining  NO   STANDARD   PAGE  HEADING                               LINE - SIZE   110                               LINE - COUNT   255                               MESSAGE - ID  z...

YCLASSICAL_JOINING

*&---------------------------------------------------------------------*
*& Report  YCLASSICAL_JOINING
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  yclassical_joining NO STANDARD PAGE HEADING
                             
LINE-SIZE 110
                             
LINE-COUNT 255
                             
MESSAGE-ID zsan.

** T Y P E    D E C L A R A T I O N **
TYPES : BEGIN OF ty_mara,
         matnr 
TYPE matnr,
         ernam 
TYPE ernam,
         pstat 
TYPE pstat_d,
        
END OF ty_mara,

        
BEGIN OF ty_makt,
         matnr 
TYPE matnr,
         spras 
TYPE spras,
         maktx 
TYPE maktx,
        
END OF ty_makt,

        
BEGIN OF ty_final,
         matnr 
TYPE matnr,
         ernam 
TYPE ernam,
         pstat 
TYPE pstat_d,
         maktx 
TYPE maktx,
        
END OF ty_final.

** D A T A     D E C L A R A T I O N **
DATA : it_mara  TYPE STANDARD TABLE OF ty_mara,
       it_makt  
TYPE STANDARD TABLE OF ty_makt,
       it_final 
TYPE STANDARD TABLE OF ty_final,
       wa_mara  
TYPE ty_mara,
       wa_makt  
TYPE ty_makt,
       wa_final 
TYPE ty_final,
       gv_matnr 
TYPE mara-matnr.

** C O N S T A N T     D E C L A R A T I O N **
CONSTANTS : c_23  TYPE matnr VALUE '23',
            c_100 
TYPE matnr VALUE '100',
            c_eng 
TYPE spras VALUE 'E'.

** S E L E C T I O N    S C R E E N **
SELECTION-
SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-006.
SELECT-OPTIONS   : s_matnr FOR gv_matnr.
SELECTION-
SCREEN : END OF BLOCK b1.

INITIALIZATION.
  s_matnr-low  = c_23.                                      
"'23'.
  s_matnr-high = c_100.                                     
"'100'.
  
APPEND s_matnr.

START-
OF-SELECTION.
  
SELECT matnr   " Material Number
         ernam   
" Name of Person who Created the Object
         pstat   
" Maintenance status
  
FROM mara INTO TABLE it_mara
  
WHERE matnr IN s_matnr.
  
IF sy-subrc EQ 0.
    
SORT it_mara BY matnr.
    
SELECT matnr
           spras
           maktx
    
FROM makt INTO TABLE it_makt
    
FOR ALL ENTRIES IN it_mara
    
WHERE matnr = it_mara-matnr
    
AND   spras = c_eng.
    
IF sy-subrc NE 0.
      
MESSAGE s001(zsan). " No values found
      
LEAVE LIST-PROCESSING.
    
ENDIF.
  
ELSE.
    
MESSAGE s001(zsan). " No values found
    
LEAVE LIST-PROCESSING.
  
ENDIF.

END-OF-SELECTION.

* Now proceed for output.
  
LOOP AT it_mara INTO wa_mara.

    wa_final-matnr = wa_mara-matnr.
    wa_final-ernam = wa_mara-ernam.
    wa_final-pstat = wa_mara-pstat.

    
READ TABLE it_makt INTO wa_makt WITH KEY matnr = wa_mara-matnr.
    
IF sy-subrc EQ 0.
      wa_final-maktx = wa_makt-maktx.
    
ENDIF.

    
APPEND wa_final TO it_final.
    
CLEAR : wa_final, wa_mara, wa_makt.
  
ENDLOOP.

* Now proceed for output.
  
LOOP AT it_final INTO wa_final.
    
AT FIRST.
      
ULINE.
      
WRITE:/1'|',  'Material Number'(001)     COLOR 1,  19'|',
                    
'Created By'(002)         COLOR 1,  32'|',
                    
'Maintenance status'(003) COLOR 1,  60'|',
                    
'Material descp'(004)  COLOR 1,  110'|'.
      
ULINE.
    
ENDAT.

    
WRITE:/1'|', wa_final-matnr,  19'|',
                 wa_final-ernam,  32
'|',
                 wa_final-pstat,  60
'|',
                 wa_final-maktx,  110
'|'.
    
ULINE.

    
AT LAST.
      
WRITE: 1'|', 'This is the end of report'(004), 110'|'.
      
ULINE.
    
ENDAT.

  
ENDLOOP.







Comments

Popular posts from this blog

ABAP/4 DEVELOPMENT STANDARDS

ABAP/4 DEVELOPMENT STANDARDS These slides covers Object naming standards, ABAP/4 Programming standards and procedures. These programming standards are intended to aid ABAP/4 programming in the SAP R/3 software development. Naming standards SAP provides their clients with a separate name space for their custom development so that during an upgrade no custom development will be lost (see OSS note 16466).Generally speaking, customer defined objects have to start with a ‘Y’ or ‘Z’.  Naming standards SAP provides their clients with a separate name space for their custom development so that during an upgrade no custom development will be lost (see OSS note 16466). Generally speaking, customer defined objects have to start with a ‘Y’ or ‘Z’.  Following, we will define the standards for the use in this Project. Program The following program naming conventions have to be followed for creating ABAP/4 programs, functions, includes and reports.  Refer to Maintai...

ABAP Programming Types

ABAP Programming Types In SAP,each ABAP Program has the Type ,based on the Program Type ,we can understand what is that kind of program.There are 8 programming Types . When a program is created, the suitable statement is automatically generated by the ABAP Workbench and should be changed during editing in the additions only. In particular, the keywords FUNCTION-POOL, CLASS-POOL, INTERFACE-POOL, and TYPE-POOL should be created solely by the respective tools of the ABAP Workb ench and never be entered in the source text themselves in order to avoid unexpected system behavior. REPORT Report Type Program is Executable. Module Pool Module Type is a Executable PROGRAM FUNCTION-POOL The introductory statement FUNCTION-POOL declares a program in which you can define function modules. Class Pool The introductory program statements CLASS-POOL and INTERFACE-POOL are provided solely for class and interface definitions. Subroutine Pool This Statement used for creating subrout...

Created structur transaction

Created structur transaction UFD - Distribute Variant Functions CU01 - Create Dependency CU60 - Table Maintenance CU02 - Change Dependency CU65 - Create Function CU21 - Create Dependency Net CU61 - Create Table Structure CU03 - Display Dependency CU59 - Transfer Variant Table Contents CU22 - Change Dependency Net CU63 - Display Table Structure CU05 - Dependency Where-Used List CU04 - Dependency List CU62 - Change Table Structure CU23 - Display Dependency Net