cancel
Showing results for 
Search instead for 
Did you mean: 

abap syntax error in web dynpro abap

bhakti2
Active Participant
0 Kudos

hi,

i am writing code in a method in view

it gives syntax error for normal abap like loop, clear etc stms

i  read and set context data using wizard that is working fine

but how come it gives error for such normal thing ?

same code exists in othe rmethod of the same view

i think i missing some basic setting but now clue

any help, thanks

b

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

set the debugger and c it

bhakti2
Active Participant
0 Kudos

hi karthik , i cant activate the code, it gives syntax error

and if i remove this code and debug its of no use, i need to check this code itself

Former Member
0 Kudos

Hi.

Please give the line number on which the error occurs and the corresponding message.

Regards,

Fareez

bhakti2
Active Participant
0 Kudos

the error is gone, ill try to figure wat was wrong. thank you.....

method ONACTIONAPPROVE .

    DATA lo_nd_travel TYPE REF TO if_wd_context_node.
    DATA lo_el_travel TYPE REF TO if_wd_context_element.
  DATA lv_rejectiontxt    TYPE zttripworkflow-rejectiontxt.
  DATA LO_EL_CONTEXT TYPE REF TO IF_WD_CONTEXT_ELEMENT.
  DATA LS_CONTEXT TYPE WD_THIS->ELEMENT_CONTEXT.
  DATA LV_REJECTION_TEXT TYPE WD_THIS->ELEMENT_CONTEXT-REJECTION_TEXT.
  DATA lv_string          TYPE string.
  DATA lv_rejtxt          TYPE string.
* get element via lead selection
  LO_EL_CONTEXT = WD_CONTEXT->GET_ELEMENT( ).
* @TODO handle not set lead selection
  IF LO_EL_CONTEXT IS INITIAL.
  ENDIF.

* get single attribute
  LO_EL_CONTEXT->GET_ATTRIBUTE(
    EXPORTING
      NAME =  `REJECTION_TEXT`
    IMPORTING
      VALUE = LV_REJECTION_TEXT ).


*   navigate from <CONTEXT> to <TRAVEL> via lead selection
    lo_nd_travel = wd_context->get_child_node( name = wd_this->wdctx_travel ).

*   get element via lead selection
    lo_el_travel = lo_nd_travel->get_element( ).

*   @TODO handle not set lead selection
    IF lo_el_travel IS INITIAL.
    ENDIF.

**
 

  LOOP AT lv_rejection_text INTO lv_rejtxt.
    CONCATENATE lv_rejectiontxt
                lv_rejtxt
                cl_abap_char_utilities=>cr_lf
           INTO lv_rejectiontxt.
  ENDLOOP.

* set single attribute
  LO_EL_TRAVEL->SET_ATTRIBUTE(
    NAME =  `REJECTIONTXT`
    VALUE = lv_rejectiontxt ).

*   set single attribute
    lo_el_travel->set_attribute(
      name =  `DECISION`
      value = 'A' ).

*   Exit window
    me->exit_application( ).
endmethod.

bhakti2
Active Participant
0 Kudos

Below syntax error in onactionapprove method

Web Dynpro Comp. / Intf. ZWD_TRAVEL_APPROVAL,Web Dynpro View ZV_TRAVEL_APPROVAL

Method ONACTIONAPPROVE

Statement "LOOP AT LV_REJECTION_TEXT INTO Y" is not defined. Check your

  1. spelling. .

method ONACTIONAPPROVE .

   
DATA lo_nd_travel TYPE REF TO if_wd_context_node.
   
DATA lo_el_travel TYPE REF TO if_wd_context_element.

 
DATA LO_EL_CONTEXT TYPE REF TO IF_WD_CONTEXT_ELEMENT.
 
DATA LS_CONTEXT TYPE WD_THIS->ELEMENT_CONTEXT.
 
DATA LV_REJECTION_TEXT TYPE WD_THIS->ELEMENT_CONTEXT-REJECTION_TEXT.
 
data y type string.
 
data x type string.

* get element via lead selection
  LO_EL_CONTEXT = WD_CONTEXT->GET_ELEMENT( ).* @TODO handle not set lead selection
 
IF LO_EL_CONTEXT IS INITIAL.
  ENDIF.
* get single attribute
  LO_EL_CONTEXT->GET_ATTRIBUTE(
   
EXPORTING
      NAME = 
`REJECTION_TEXT`
   
IMPORTING
     
VALUE = LV_REJECTION_TEXT ).

*   navigate from <CONTEXT> to <TRAVEL> via lead selection
    lo_nd_travel = wd_context->get_child_node( name = wd_this->wdctx_travel ).
*   get element via lead selection
    lo_el_travel = lo_nd_travel->get_element( ).
*   @TODO handle not set lead selection
   
IF lo_el_travel IS INITIAL.
    ENDIF.

x = y.

**

LOOP AT lv_rejection_text INTO y.CONCATENATE x y cl_abap_char_utilities=>cr_lf INTO x.
ENDLOOP.
* set single attribute
  LO_EL_TRAVEL->SET_ATTRIBUTE(
    NAME = 
`REJECTIONTXT`
   
VALUE = x ).
*   set single attribute
    lo_el_travel->set_attribute(
      name = 
`DECISION`
     
value = 'A' ).
*   Exit window
    me->exit_application( ).
endmethod.

No syntax error in onactionreject method

METHOD onactionreject .

 
DATA lo_nd_travel       TYPE REF TO if_wd_context_node.
 
DATA lo_el_travel       TYPE REF TO if_wd_context_element.
 
DATA lv_rejectiontxt    TYPE zttripworkflow-rejectiontxt.
 
DATA lv_errmsg          TYPE string.* get message manager
 
DATA lo_api_controller  TYPE REF TO if_wd_controller.
 
DATA lo_message_manager TYPE REF TO if_wd_message_manager.
 
DATA lv_string          TYPE string.
 
DATA lv_rejtxt          TYPE string.
 
DATA lo_el_context TYPE REF TO if_wd_context_element.
 
DATA ls_context TYPE wd_this->element_context.
 
DATA lv_rejection_text TYPE wd_this->element_context-rejection_text.
* get element via lead selection
  lo_el_context = wd_context->get_element( ).* @TODO handle not set lead selection
 
IF lo_el_context IS INITIAL.
  ENDIF.
* get single attribute
  lo_el_context->get_attribute(
   
EXPORTING
      name = 
`REJECTION_TEXT`
   
IMPORTING
     
value = lv_rejection_text ).
*  if lv_rejectiontxt is initial.
 
IF  lv_rejection_text IS INITIAL.
    lo_api_controller ?= wd_this->wd_get_api( ).

   
CALL METHOD lo_api_controller->get_message_manager
      RECEIVING
        message_manager = lo_message_manager.

   
MESSAGE e022(zfin_messages) INTO lv_errmsg.*   report message
   
CALL METHOD lo_message_manager->report_message
     
EXPORTING
        message_text      = lv_errmsg
        cancel_navigation =
'X'
      RECEIVING
        message_id        = lv_string.

  ENDIF.
* navigate from <CONTEXT> to <TRAVEL> via lead selection
  lo_nd_travel = wd_context->get_child_node( name = wd_this->wdctx_travel ).
* get element via lead selection
  lo_el_travel = lo_nd_travel->get_element( ).
* @TODO handle not set lead selection
 
IF lo_el_travel IS INITIAL.
  ENDIF.

 
CLEAR : lv_rejtxt,lv_rejectiontxt.

 
LOOP AT lv_rejection_text INTO lv_rejtxt.
   
CONCATENATE lv_rejectiontxt
                lv_rejtxt
                cl_abap_char_utilities=>cr_lf
          
INTO lv_rejectiontxt.
  ENDLOOP.
* set single attribute
  lo_el_travel->set_attribute(
 
EXPORTING
    name = 
`REJECTIONTXT`
   
value = lv_rejectiontxt ).
* set single attribute
  lo_el_travel->set_attribute(
    name = 
`DECISION`
   
value = 'R' ).
* Exit window
  me->exit_application( ).

ENDMETHOD.

former_member184578
Active Contributor
0 Kudos

Hi,

What is the type of LV_REJECTION_TEXT? . I think for REJECTION_TEXT attribute you are using type STRING.!! Please check that and use the relevant type.

Hope this helps u.,

Thanks & Regards,

Kiran.

Former Member
0 Kudos

Please paste your code

Former Member
0 Kudos

Put your code..

Former Member
0 Kudos

Hi,

Do you use any internal table with header line. I think thats not supported in Webdynpro ABAP. 

Regards,

Fareez