SAP RM_BACKFLUSH_CHECK Function Module for Input Check: Backflushing and Confirmations in Repetitive Manufacturing









RM_BACKFLUSH_CHECK is a standard rm backflush check SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Input Check: Backflushing and Confirmations in Repetitive Manufacturing processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.


See here to view full function module documentation and code listing for rm backflush check FM, simply by entering the name RM_BACKFLUSH_CHECK into the relevant SAP transaction such as SE37 or SE38.

Function Group: BARM
Program Name: SAPLBARM
Main Program: SAPLBARM
Appliation area: C
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:



Function RM_BACKFLUSH_CHECK pattern details

In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.
CALL FUNCTION 'RM_BACKFLUSH_CHECK'"Input Check: Backflushing and Confirmations in Repetitive Manufacturing
EXPORTING
* EXT_COMMIT = ' ' "If 'X', Commit to be triggered outside function module
* CHECK = ' ' "Runs Through Module At All Events
* HUBACKFL = ' ' "Indicator for HU Backflush
* BAPI_CALL = ' ' "Indicator for Invocation per BAPI
IM61B = "Dynpro 100 Fields: Input Information
* MODE = 'B' "Docu See F2
* NO_DIALOG = ' ' "If 'X', function module does not run in dialog mode
* LOCK_FLAG = 'X' "If 'X', run schedule header locked
* REPTP = '01' "REM activity cat.: 01 REM planning 02 assembly order, 03 kanban
* TCODE = ' ' "Transaction Code for Goods Movement Check
* MDAKT = ' ' "Activity Category Authorization Check
* COMMIT_WAIT = ' ' "COMMIT WORK AND WAIT Active?

IMPORTING
EM61B = "Dynpro 100 Fields: Additionally-Read Data

TABLES
* SERNRX = "Serial numbers (IM61B-ERFMG = number of entries)
* T_VENUMLIST = "
* T_COWB_COMP = "Interface Structure of Goods Movement
* T_CLBATCH = "Batch Characteristics

EXCEPTIONS
ALORT_NOT_FOUND = 1 NO_BACKFLUSH_AUTHORITY = 10 OVERFLOW_ERROR = 11 PLAF_NOT_FOUND = 12 QUANTITY_REQUIRED = 13 REASON_WITHOUT_SCRAP = 14 REP_MANU_NOT_ALLOWED = 15 REVISION_NOT_FOUND = 16 RUN_SCHEDULE_LOCKED = 17 SAUF_BLOCKED = 18 SAUF_NOT_FOUND = 19 INVALID_AUART = 2 SAUF_WITHOUT_PKOSA = 20 SAUF_WITHOUT_RSNUM = 21 TABLE_ACCESS_ERROR = 22 UNIT_CONVERSION_ERROR = 23 VERSION_NOT_FOUND = 24 VERSION_NOT_UNIQUE = 25 REPORTING_POINT_ERROR = 26 QUANTITY_ERROR = 27 DETERM_COST_COLL_ERROR = 28 WRONG_UNIT_OF_MEASURE = 29 INVALID_MAT_SAUF_COMBINATION = 3 SPECIAL_STOCK_NOT_FOUND = 30 AUFPL_FIND_ERROR = 31 WRONG_PLAF = 32 PLAF_ERROR = 33 OT_ERROR = 34 FIND_ROUTING_ERROR = 35 SERIALNUMBER_ERROR = 36 FCO_ERROR = 37 ME_DISTRIBUTE_ERROR = 38 INVALID_POSTING_DATE = 4 INVALID_TABLE_ENTRY = 5 INVALID_VERID_SAUF_COMBINATION = 6 LOCK_ERROR = 7 MATERIAL_IN_PLANT_NOT_FOUND = 8 MATERIAL_OR_SAUF_REQUIRED = 9
.




Customer Function user exits

Below is a list of CUSTOMER FUNCTION exit user exits that are available within this program and maybe relevant for this FM.
EXIT_SAPLBARM_001 Customer Exit: RM_BACKFLUSH_CHECK
EXIT_SAPLBARM_002 Customer Exit: RM_BACKFLUSH_GO
EXIT_SAPLBARM_003 Customer Exit: RM_CANCEL_BACKFLUSH_CHECK
EXIT_SAPLBARM_004 Customer Exit: RM_CANCEL_BACKFLUSH_GO

IMPORTING Parameters details for RM_BACKFLUSH_CHECK

EXT_COMMIT - If 'X', Commit to be triggered outside function module

Data type: CM61Q-CAMOD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

CHECK - Runs Through Module At All Events

Data type: RM61F-SELEKT
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

HUBACKFL - Indicator for HU Backflush

Data type: VHURM_HUBACKFL
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

BAPI_CALL - Indicator for Invocation per BAPI

Data type: C
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

IM61B - Dynpro 100 Fields: Input Information

Data type: RM61B
Optional: No
Call by Reference: No ( called with pass by value option)

MODE - Docu See F2

Data type: CM61Q-CAMOD
Default: 'B'
Optional: Yes
Call by Reference: No ( called with pass by value option)

NO_DIALOG - If 'X', function module does not run in dialog mode

Data type: RM61F-SELEKT
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

LOCK_FLAG - If 'X', run schedule header locked

Data type: RM61F-SELEKT
Default: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)

REPTP - REM activity cat.: 01 REM planning 02 assembly order, 03 kanban

Data type: T437X-REPTP
Default: '01'
Optional: Yes
Call by Reference: No ( called with pass by value option)

TCODE - Transaction Code for Goods Movement Check

Data type: SY-TCODE
Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)

MDAKT - Activity Category Authorization Check

Data type: T450-MDAKT
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

COMMIT_WAIT - COMMIT WORK AND WAIT Active?

Data type: CM61Q-CAMOD
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

EXPORTING Parameters details for RM_BACKFLUSH_CHECK

EM61B - Dynpro 100 Fields: Additionally-Read Data

Data type: RM61B
Optional: No
Call by Reference: No ( called with pass by value option)

TABLES Parameters details for RM_BACKFLUSH_CHECK

SERNRX - Serial numbers (IM61B-ERFMG = number of entries)

Data type: E1RMSNO
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_VENUMLIST -

Data type: VHURM_T_COMPL_VENUM
Optional: Yes
Call by Reference: Yes

T_COWB_COMP - Interface Structure of Goods Movement

Data type: COWB_COMP
Optional: Yes
Call by Reference: Yes

T_CLBATCH - Batch Characteristics

Data type: CLBATCH_T
Optional: Yes
Call by Reference: Yes

EXCEPTIONS details

ALORT_NOT_FOUND - Storage location not entered or does not exist in MT61D

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

NO_BACKFLUSH_AUTHORITY - No authorization for backflush

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

OVERFLOW_ERROR -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

PLAF_NOT_FOUND - Planned order does not exist

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

QUANTITY_REQUIRED - Entry quantity and scrap quantity not entered

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

REASON_WITHOUT_SCRAP - Scrap reason without scrap quantity

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

REP_MANU_NOT_ALLOWED - Indicator: repetitive mfg not set in material master record

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

REVISION_NOT_FOUND - Revision level does not exist

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

RUN_SCHEDULE_LOCKED - Run schedule header blocked by another user

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

SAUF_BLOCKED - Run schedule header is blocked

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

SAUF_NOT_FOUND - Run schedule header does not exist in plant

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

INVALID_AUART - Invalid order type in repetitive manufacturing profile

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

SAUF_WITHOUT_PKOSA - No cost collector exists for RS header

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

SAUF_WITHOUT_RSNUM - RS header without backlogs from backflushing

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

TABLE_ACCESS_ERROR - Error accessing a table

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

UNIT_CONVERSION_ERROR - Error converting creation unit of entry

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

VERSION_NOT_FOUND - Version not found

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

VERSION_NOT_UNIQUE - Version cannot be uniquely determined

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

REPORTING_POINT_ERROR - Error reading reporting point info

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

QUANTITY_ERROR - Error entering quantities

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

DETERM_COST_COLL_ERROR - Error determining the cost collector

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

WRONG_UNIT_OF_MEASURE - Wrong unit of measure

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

INVALID_MAT_SAUF_COMBINATION - Invalid combination of material and run schedule header

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

SPECIAL_STOCK_NOT_FOUND - Error reading special stock

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

AUFPL_FIND_ERROR - Error determining plan number for operations/orders

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

WRONG_PLAF - Wrong planned order (e.g. long-term planned order)

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

PLAF_ERROR - Error processing a planned order

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

OT_ERROR - Other check error

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

FIND_ROUTING_ERROR -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

SERIALNUMBER_ERROR - Error within framework of serial number processing

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

FCO_ERROR - Error Within Framework of Failure Cost Processing

Data type:
Optional: No
Call by Reference: Yes

ME_DISTRIBUTE_ERROR -

Data type:
Optional: No
Call by Reference: Yes

INVALID_POSTING_DATE - Invalid posting date

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

INVALID_TABLE_ENTRY - Invalid table entry

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

INVALID_VERID_SAUF_COMBINATION - Invalid combination of version and run schedule header

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

LOCK_ERROR - Locking Error

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

MATERIAL_IN_PLANT_NOT_FOUND - Material does not exist in plant

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

MATERIAL_OR_SAUF_REQUIRED - Material or run schedule header has not been entered

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

Copy and paste ABAP code example for RM_BACKFLUSH_CHECK Function Module

The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.

DATA:
lv_em61b  TYPE RM61B, "   
lt_sernrx  TYPE STANDARD TABLE OF E1RMSNO, "   
lv_ext_commit  TYPE CM61Q-CAMOD, "   SPACE
lv_alort_not_found  TYPE CM61Q, "   
lv_check  TYPE RM61F-SELEKT, "   SPACE
lv_no_backflush_authority  TYPE RM61F, "   
lv_hubackfl  TYPE VHURM_HUBACKFL, "   SPACE
lv_overflow_error  TYPE VHURM_HUBACKFL, "   
lv_bapi_call  TYPE C, "   SPACE
lv_plaf_not_found  TYPE C, "   
lv_quantity_required  TYPE C, "   
lv_reason_without_scrap  TYPE C, "   
lv_rep_manu_not_allowed  TYPE C, "   
lv_revision_not_found  TYPE C, "   
lv_run_schedule_locked  TYPE C, "   
lv_sauf_blocked  TYPE C, "   
lv_sauf_not_found  TYPE C, "   
lv_im61b  TYPE RM61B, "   
lt_t_venumlist  TYPE STANDARD TABLE OF VHURM_T_COMPL_VENUM, "   
lv_invalid_auart  TYPE VHURM_T_COMPL_VENUM, "   
lv_sauf_without_pkosa  TYPE VHURM_T_COMPL_VENUM, "   
lv_sauf_without_rsnum  TYPE VHURM_T_COMPL_VENUM, "   
lv_table_access_error  TYPE VHURM_T_COMPL_VENUM, "   
lv_unit_conversion_error  TYPE VHURM_T_COMPL_VENUM, "   
lv_version_not_found  TYPE VHURM_T_COMPL_VENUM, "   
lv_version_not_unique  TYPE VHURM_T_COMPL_VENUM, "   
lv_reporting_point_error  TYPE VHURM_T_COMPL_VENUM, "   
lv_quantity_error  TYPE VHURM_T_COMPL_VENUM, "   
lv_determ_cost_coll_error  TYPE VHURM_T_COMPL_VENUM, "   
lv_wrong_unit_of_measure  TYPE VHURM_T_COMPL_VENUM, "   
lv_mode  TYPE CM61Q-CAMOD, "   'B'
lt_t_cowb_comp  TYPE STANDARD TABLE OF COWB_COMP, "   
lv_invalid_mat_sauf_combination  TYPE COWB_COMP, "   
lv_special_stock_not_found  TYPE COWB_COMP, "   
lv_aufpl_find_error  TYPE COWB_COMP, "   
lv_wrong_plaf  TYPE COWB_COMP, "   
lv_plaf_error  TYPE COWB_COMP, "   
lv_ot_error  TYPE COWB_COMP, "   
lv_find_routing_error  TYPE COWB_COMP, "   
lv_serialnumber_error  TYPE COWB_COMP, "   
lv_fco_error  TYPE COWB_COMP, "   
lv_me_distribute_error  TYPE COWB_COMP, "   
lv_no_dialog  TYPE RM61F-SELEKT, "   SPACE
lt_t_clbatch  TYPE STANDARD TABLE OF CLBATCH_T, "   
lv_invalid_posting_date  TYPE CLBATCH_T, "   
lv_lock_flag  TYPE RM61F-SELEKT, "   'X'
lv_invalid_table_entry  TYPE RM61F, "   
lv_reptp  TYPE T437X-REPTP, "   '01'
lv_invalid_verid_sauf_combination  TYPE T437X, "   
lv_tcode  TYPE SY-TCODE, "   ' '
lv_lock_error  TYPE SY, "   
lv_mdakt  TYPE T450-MDAKT, "   SPACE
lv_material_in_plant_not_found  TYPE T450, "   
lv_commit_wait  TYPE CM61Q-CAMOD, "   SPACE
lv_material_or_sauf_required  TYPE CM61Q. "   

  CALL FUNCTION 'RM_BACKFLUSH_CHECK'  "Input Check: Backflushing and Confirmations in Repetitive Manufacturing
    EXPORTING
         EXT_COMMIT = lv_ext_commit
         CHECK = lv_check
         HUBACKFL = lv_hubackfl
         BAPI_CALL = lv_bapi_call
         IM61B = lv_im61b
         MODE = lv_mode
         NO_DIALOG = lv_no_dialog
         LOCK_FLAG = lv_lock_flag
         REPTP = lv_reptp
         TCODE = lv_tcode
         MDAKT = lv_mdakt
         COMMIT_WAIT = lv_commit_wait
    IMPORTING
         EM61B = lv_em61b
    TABLES
         SERNRX = lt_sernrx
         T_VENUMLIST = lt_t_venumlist
         T_COWB_COMP = lt_t_cowb_comp
         T_CLBATCH = lt_t_clbatch
    EXCEPTIONS
        ALORT_NOT_FOUND = 1
        NO_BACKFLUSH_AUTHORITY = 10
        OVERFLOW_ERROR = 11
        PLAF_NOT_FOUND = 12
        QUANTITY_REQUIRED = 13
        REASON_WITHOUT_SCRAP = 14
        REP_MANU_NOT_ALLOWED = 15
        REVISION_NOT_FOUND = 16
        RUN_SCHEDULE_LOCKED = 17
        SAUF_BLOCKED = 18
        SAUF_NOT_FOUND = 19
        INVALID_AUART = 2
        SAUF_WITHOUT_PKOSA = 20
        SAUF_WITHOUT_RSNUM = 21
        TABLE_ACCESS_ERROR = 22
        UNIT_CONVERSION_ERROR = 23
        VERSION_NOT_FOUND = 24
        VERSION_NOT_UNIQUE = 25
        REPORTING_POINT_ERROR = 26
        QUANTITY_ERROR = 27
        DETERM_COST_COLL_ERROR = 28
        WRONG_UNIT_OF_MEASURE = 29
        INVALID_MAT_SAUF_COMBINATION = 3
        SPECIAL_STOCK_NOT_FOUND = 30
        AUFPL_FIND_ERROR = 31
        WRONG_PLAF = 32
        PLAF_ERROR = 33
        OT_ERROR = 34
        FIND_ROUTING_ERROR = 35
        SERIALNUMBER_ERROR = 36
        FCO_ERROR = 37
        ME_DISTRIBUTE_ERROR = 38
        INVALID_POSTING_DATE = 4
        INVALID_TABLE_ENTRY = 5
        INVALID_VERID_SAUF_COMBINATION = 6
        LOCK_ERROR = 7
        MATERIAL_IN_PLANT_NOT_FOUND = 8
        MATERIAL_OR_SAUF_REQUIRED = 9
. " RM_BACKFLUSH_CHECK




ABAP code using 7.40 inline data declarations to call FM RM_BACKFLUSH_CHECK

The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.

 
 
"SELECT single CAMOD FROM CM61Q INTO @DATA(ld_ext_commit).
DATA(ld_ext_commit) = ' '.
 
 
"SELECT single SELEKT FROM RM61F INTO @DATA(ld_check).
DATA(ld_check) = ' '.
 
 
DATA(ld_hubackfl) = ' '.
 
 
DATA(ld_bapi_call) = ' '.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
"SELECT single CAMOD FROM CM61Q INTO @DATA(ld_mode).
DATA(ld_mode) = 'B'.
 
 
 
 
 
 
 
 
 
 
 
 
"SELECT single SELEKT FROM RM61F INTO @DATA(ld_no_dialog).
DATA(ld_no_dialog) = ' '.
 
 
 
"SELECT single SELEKT FROM RM61F INTO @DATA(ld_lock_flag).
DATA(ld_lock_flag) = 'X'.
 
 
"SELECT single REPTP FROM T437X INTO @DATA(ld_reptp).
DATA(ld_reptp) = '01'.
 
 
"SELECT single TCODE FROM SY INTO @DATA(ld_tcode).
DATA(ld_tcode) = ' '.
 
 
"SELECT single MDAKT FROM T450 INTO @DATA(ld_mdakt).
DATA(ld_mdakt) = ' '.
 
 
"SELECT single CAMOD FROM CM61Q INTO @DATA(ld_commit_wait).
DATA(ld_commit_wait) = ' '.
 
 


Search for further information about these or an SAP related objects



Comments on this SAP object

What made you want to lookup this SAP object? Please tell us what you were looking for and anything you would like to be included on this page!