SAP Function Modules

FRML956_CALL_SOLVER SAP Function module







FRML956_CALL_SOLVER is a standard SAP function module available within R/3 SAP systems depending on your version and release level. Below is the pattern details for this FM showing its interface including any import and export parameters, exceptions etc as well as any documentation contributions (Comments) specific to the object.

See here to view full function module documentation and code listing, simply by entering the name FRML956_CALL_SOLVER into the relevant SAP transaction such as SE37 or SE80.

Associated Function Group: FRML956
Released Date: Not Released
Processing type: Normal fucntion module
Normal function module settings


Pattern for FM FRML956_CALL_SOLVER - FRML956 CALL SOLVER





CALL FUNCTION 'FRML956_CALL_SOLVER' "
  EXPORTING
    i_r_seize_x =               " frmlematrixsize
    i_r_seize_y =               " frmlematrixsize
    i_m_seize_x =               " frmlematrixsize
    i_m_seize_y =               " frmlematrixsize
  IMPORTING
    e_x_seize_x =               " frmlematrixsize
    e_x_seize_y =               " frmlematrixsize
    e_condition =               " float
    e_tab_r_inv =               " frmlty_matrix_n
  TABLES
    i_tab_r =                   " frmlsmatrix
    i_tab_m =                   " frmlsmatrix
    e_tab_x =                   " frmlsmatrix
  EXCEPTIONS
    TABLEINDEXOUTOFRANGE = 1    "
    TABLESIZESDONOTFIT = 2      "
    INVERSIONNOTPOSSIBLE = 3    "
    INTERNAL_ERROR = 4          "
    MEMORY_EXEEDED = 5          "
    EXPERT_NOT_FOUND = 6        "
    EXPERT_FAILED = 7           "
    .  "  FRML956_CALL_SOLVER

ABAP code example for Function Module FRML956_CALL_SOLVER





The ABAP code below is a full code listing to execute function module FRML956_CALL_SOLVER including all data declarations. The code uses 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 original method of declaring data variables up front. 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).

DATA:
ld_e_x_seize_x  TYPE FRMLEMATRIXSIZE ,
ld_e_x_seize_y  TYPE FRMLEMATRIXSIZE ,
ld_e_condition  TYPE FLOAT ,
ld_e_tab_r_inv  TYPE FRMLTY_MATRIX_N ,
it_i_tab_r  TYPE STANDARD TABLE OF FRMLSMATRIX,"TABLES PARAM
wa_i_tab_r  LIKE LINE OF it_i_tab_r ,
it_i_tab_m  TYPE STANDARD TABLE OF FRMLSMATRIX,"TABLES PARAM
wa_i_tab_m  LIKE LINE OF it_i_tab_m ,
it_e_tab_x  TYPE STANDARD TABLE OF FRMLSMATRIX,"TABLES PARAM
wa_e_tab_x  LIKE LINE OF it_e_tab_x .

DATA(ld_i_r_seize_x) = 'Check type of data required'.
DATA(ld_i_r_seize_y) = 'Check type of data required'.
DATA(ld_i_m_seize_x) = 'Check type of data required'.
DATA(ld_i_m_seize_y) = 'Check type of data required'.

"populate fields of struture and append to itab
append wa_i_tab_r to it_i_tab_r.

"populate fields of struture and append to itab
append wa_i_tab_m to it_i_tab_m.

"populate fields of struture and append to itab
append wa_e_tab_x to it_e_tab_x. . CALL FUNCTION 'FRML956_CALL_SOLVER' EXPORTING i_r_seize_x = ld_i_r_seize_x i_r_seize_y = ld_i_r_seize_y i_m_seize_x = ld_i_m_seize_x i_m_seize_y = ld_i_m_seize_y IMPORTING e_x_seize_x = ld_e_x_seize_x e_x_seize_y = ld_e_x_seize_y e_condition = ld_e_condition e_tab_r_inv = ld_e_tab_r_inv TABLES i_tab_r = it_i_tab_r i_tab_m = it_i_tab_m e_tab_x = it_e_tab_x EXCEPTIONS TABLEINDEXOUTOFRANGE = 1 TABLESIZESDONOTFIT = 2 INVERSIONNOTPOSSIBLE = 3 INTERNAL_ERROR = 4 MEMORY_EXEEDED = 5 EXPERT_NOT_FOUND = 6 EXPERT_FAILED = 7 . " FRML956_CALL_SOLVER
IF SY-SUBRC EQ 0. "All OK ELSEIF SY-SUBRC EQ 1. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 2. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 3. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 4. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 5. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 6. "Exception "Add code for exception here ELSEIF SY-SUBRC EQ 7. "Exception "Add code for exception here ENDIF.







ABAP code to compare 7.40 inline data declaration with original syntax

The below ABAP code uses the older none in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. It may also be useful if you are using an older version of SAP as some of the newer syntax above, such as the @DATA is not available until 4.70 EHP 8.

DATA:
ld_e_x_seize_x  TYPE FRMLEMATRIXSIZE ,
ld_i_r_seize_x  TYPE FRMLEMATRIXSIZE ,
it_i_tab_r  TYPE STANDARD TABLE OF FRMLSMATRIX ,
wa_i_tab_r  LIKE LINE OF it_i_tab_r,
ld_e_x_seize_y  TYPE FRMLEMATRIXSIZE ,
ld_i_r_seize_y  TYPE FRMLEMATRIXSIZE ,
it_i_tab_m  TYPE STANDARD TABLE OF FRMLSMATRIX ,
wa_i_tab_m  LIKE LINE OF it_i_tab_m,
ld_e_condition  TYPE FLOAT ,
ld_i_m_seize_x  TYPE FRMLEMATRIXSIZE ,
it_e_tab_x  TYPE STANDARD TABLE OF FRMLSMATRIX ,
wa_e_tab_x  LIKE LINE OF it_e_tab_x,
ld_e_tab_r_inv  TYPE FRMLTY_MATRIX_N ,
ld_i_m_seize_y  TYPE FRMLEMATRIXSIZE .

ld_i_r_seize_x = 'Check type of data required'.

"populate fields of struture and append to itab
append wa_i_tab_r to it_i_tab_r.
ld_i_r_seize_y = 'Check type of data required'.

"populate fields of struture and append to itab
append wa_i_tab_m to it_i_tab_m.
ld_i_m_seize_x = 'Check type of data required'.

"populate fields of struture and append to itab
append wa_e_tab_x to it_e_tab_x.
ld_i_m_seize_y = 'Check type of data required'.

Contribute (Add Comments)

Please help keep this info upto date and use the comments section below to add useful hints, tips and information specific to this SAP function. This will then be available for you and other users to easily find by simply searching on the object name FRML956_CALL_SOLVER or its description.