SO&WO

*&---------------------------------------------------------------------*
*&      Form  headerxls
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&gtP_OUT_TAB_LIST_1_VBELN  text
*----------------------------------------------------------------------*
form. headerxls using    p_vbeln.
  data:poso(30) type c,
       l_name1(100) type c,
       l_name2(100) type c,
       l_name3(100) type c,
       l_name4(100) type c.

  clear:l_name1,l_name2,l_name3,l_name4.

  loop at invoiceheader where vbelnf = p_vbeln.


    if invoiceheader-fkart = 'ZPLB' or invoiceheader-fkart = 'ZPLG'.
      concatenate invoiceheader-bstnk '/' invoiceheader-vbeln into poso.
    else.
      concatenate invoiceheader-bstnk '' into poso.
    endif.

    condense invoiceheader-ship_to.
    condense invoiceheader-ship_adr.
    condense invoiceheader-adr_adr1.
    condense invoiceheader-adr_region.
    condense invoiceheader-adr_county.
    condense invoiceheader-in_city.
    condense invoiceheader-adr2_name1.
    condense invoiceheader-adr2_st.
    condense invoiceheader-adr2_supply.
    condense invoiceheader-adr2_post.
    condense invoiceheader-region.
    condense invoiceheader-adr2_county.

    concatenate invoiceheader-adr2_name1 l_name3 into l_name3.
    concatenate invoiceheader-adr2_st ',' invoiceheader-adr2_supply ','
invoiceheader-adr2_post ',' invoiceheader-region ','
invoiceheader-adr2_county into l_name4.

    concatenate invoiceheader-adr_name1 l_name1 into  l_name1.
    concatenate invoiceheader-ship_adr ',' invoiceheader-adr_adr1 ','
  invoiceheader-adr_post ',' invoiceheader-in_city ','
invoiceheader-adr_region ',' invoiceheader-adr_county into l_name2.

    perform. fill_cell using 11 8 invoiceheader-vbelnf.
    perform. fill_cell using 12 8 invoiceheader-lfdat.
    perform. fill_cell using 13 8 poso.
    if invoiceheader-fkart = 'ZPLB' or invoiceheader-fkart = 'ZPLG'.
      perform. fill_cell using 14 8 invoiceheader-stceg.
    else.
      perform. fill_cell using 14 8 invoiceheader-xblnr.
    endif.

    perform. fill_cell using 12 1 l_name3.
    perform. fill_cell using 13 1 l_name4.
    perform. fill_cell using 17 1 l_name1.
    perform. fill_cell using 18 1 l_name2.
  endloop.


endform.                    " headerxls
*&---------------------------------------------------------------------*
*&      Form  itemxls
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&gtP_FROM  text
*      --&gtP_TO  text
*      --&gtP_DO_LOCATION  text
*      --&gtP_OUT_TAB_LIST_1_VBELN  text
*----------------------------------------------------------------------*
form. itemxls using   p
                     q
                     s
                     p_vbeln.


  data: fill_i type i,
       fill_i1 type i,
       zpage(20) type c,
       pagesn(2) type c,
       pageen(2) type c.

  fill_i = s.
  fill_i1 = s - 15.
  pagesn = i.
  pageen = do_r.
  concatenate 'PAGE' '' pagesn '/' pageen into zpage.


  perform. fill_cell using fill_i1 9  zpage.

  loop at invoicedetail3  from p to q where vbeln = p_vbeln.

    perform. fill_cell using fill_i 1 invoicedetail3-posnr.
    perform. fill_cell using fill_i 2 invoicedetail3-bismt.
    perform. fill_cell using fill_i 4 invoicedetail3-matnr.
    perform. fill_cell using fill_i 5 invoicedetail3-maktx.
    perform. fill_cell using fill_i 6 invoicedetail3-kbetr.
    perform. fill_cell using fill_i 7 invoicedetail3-enmng.
    perform. fill_cell using fill_i 8 invoicedetail3-netpr.

    fill_i = fill_i + 1.

  endloop.

endform.                    " itemxls
*&---------------------------------------------------------------------*
*&      Form  fill_cell
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&gtP_11     text
*      --&gtP_8      text
*      --&gtP_INVOICEHEADER_VBELNF  text
*----------------------------------------------------------------------*
form. fill_cell using i j val.
  call method of h_sheet 'Cells' = h_zl no flush
    exporting
      #1 = i
      #2 = j.
  set property of h_zl 'Value' = val no flush.
  free object h_zl.
endform.                    "FILL_CELL
*&---------------------------------------------------------------------*
*&      Form  choose_input_file
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&gt  p1        text
*  *----------------------------------------------------------------------*
form. choose_input_file.
  call function 'WS_FILENAME_GET'
       exporting
            def_filename     = '*.xls'
            def_path         = 'C:\'
            mask             = ',*.xls.'
            mode             = 'O'
            title            = 'Choose Input file'
       importing
            filename         = filename
       exceptions
            inv_winsys       = 1
            no_batch         = 2
            selection_cancel = 3
            selection_error  = 4
            others           = 5.
endform.                    " choose_input_file
*&---------------------------------------------------------------------*
*&      Form  total_amount
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&gtP_INVOICEHEADER_VBELNF  text
*----------------------------------------------------------------------*
form. total_amount using  s  p_vbeln.
  data: total_amount like vbrp-netwr,
        total_char(150) type c,
        do_space(1) type c.
  data: do_spell type spell,
        w1 like spell-word,
        w2 like spell-decword,
        zcurrency(5) type c,
        i1 type i.

  clear: total_amount.
  loop at invoicedetail3 where vbeln = p_vbeln.
    total_amount = total_amount + invoicedetail3-netpr.
  endloop.

  zcurrency = 'USD'.
  call function 'SPELL_AMOUNT'
       exporting
            amount   = total_amount
            currency = zcurrency
            filler   = ' '
            language = sy-langu
       importing
            in_words = do_spell.

  w1 = do_spell-word.   w2 = do_spell-decword.
  if zcurrency = 'USD'.
    if w2 ne 'ZERO'.
      concatenate 'SAY TOTAL U.S DOLLAR:'
                 w1
                ' AND CENTS '
                 w2
                'ONLY.'
                into total_char
                separated by do_space.
    else.
      concatenate 'SAY TOTAL U.S DOLLAR:'
                w1
               'ONLY.'
               into total_char
               separated by do_space.
    endif.
  elseif zcurrency = 'TWD'
      or zcurrency = 'NTD'.
    concatenate 'SAY TOTAL ntd DOLLAR:'
                w1
                'ONLY.'
                into total_char
                separated by do_space.
  endif.

  i1 = i - 1.
  if i1 < do_r and i1 >= 1.
    s = s + 17.
    perform. fill_cell using s 8 'Continue On next page'.
  else.

    s = s + 17.
    perform. fill_cell using s 6 'TOTAL AMOUNT (USD):'.
    perform. fill_cell using s 8 total_amount.
    s = s + 1.
    perform. fill_cell using s 1 total_char.
  endif.

  clear:  w1, w2, do_spell,total_char,total_amount.


endform.                    " total_amount
*&---------------------------------------------------------------------*
*&      Form  mark_all
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&gtP_0302   text
*----------------------------------------------------------------------*
form. mark_all using    value(p_all).
  do listline times.
    clear:  out_tab_list_1.
    read table out_tab_list_1 index sy-index.
    if p_all = 'X'.
      if out_tab_list_1-selid =''.
        out_tab_list_1-selid = 'X'.
        modify out_tab_list_1 index sy-index.
      endif.
    else.
      if out_tab_list_1-selid ='X'.
        out_tab_list_1-selid = ' '.
        modify out_tab_list_1 index sy-index.
      endif.
    endif.
  enddo.

  call function 'GET_GLOBALS_FROM_SLVC_FULLSCR'
       importing
            e_grid = gv_grid.
  call method gv_grid->check_changed_data.
  call method gv_grid->refresh_table_display.
endform.                    " mark_all

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14397246/viewspace-666231/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14397246/viewspace-666231/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
好的,下面是该环保回收App的SO、WO、ST、WT战略: 1. SO战略(利用优势应对机会) 该环保回收App的主要优势是便捷性高、市场需求大和数据分析能力强。因此,该App可以通过以下SO战略来应对机会: - 与其他环保企业合作,例如垃圾分类、环保科技等企业,互相促进发展。 - 在App中提供废品分类咨询、环保知识普及等服务,进一步提高市场占有率。 - 通过数据分析优化回收过程,提高回收效率和降低成本。 2. WO战略(利用机会克服劣势) 该环保回收App的主要劣势是市场竞争激烈、依赖商家和用户隐私保护。因此,该App可以通过以下WO战略来克服劣势: - 提高商家服务质量,建立商家评价系统,提高商家服务水平。 - 加强用户隐私保护,建立完善的用户数据管理和保护机制。 - 通过业务拓展,例如提供废品分类咨询、环保知识普及等服务,进一步提高市场占有率。 3. ST战略(利用优势减少威胁) 该环保回收App的主要威胁是政策法规、社会环境和技术变革。因此,该App可以通过以下ST战略来利用优势减少威胁: - 加强政策法规的研究和分析,及时调整经营策略,以适应政策法规的变化。 - 加强与社会环保组织的合作,了解社会环保动态,及时调整经营策略,以适应社会环境的变化。 - 加强技术研发,及时更新技术,以适应技术变革的挑战。 4. WT战略(减少劣势应对威胁) 该环保回收App的主要劣势是市场竞争激烈、依赖商家和用户隐私保护,主要威胁是政策法规、社会环境和技术变革。因此,该App可以通过以下WT战略来减少劣势应对威胁: - 加强与其他环保企业的合作,互相促进发展,提高市场份额。 - 加强政策法规的研究和分析,及时调整经营策略,以适应政策法规的变化。 - 加强商家服务质量,建立商家评价系统,提高商家服务水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值