zoukankan      html  css  js  c++  java
  • 自开发理财思想

    每年年底还在为没钱而发愁吗?

    推荐一个个人理财思想:每天存一笔钱,这笔钱从每年的一月一号开始,十二月三十一号截止,每天存入的金额随机(存入必须为整数,起始为一元人民币),但不能与天数重复,而且每天存的钱只能比前一天多。

    这样坚持一年以后,你的可用闲置资金至少会有六万多块,拿着六万多块可以为次年投资,理财,反正有钱在手,想做什么都不难。

    下面个人的初级ABAP代码如下:

    后续借用接口Webservices/ ODATA / RFC / PI 等(json/xml)可结合用户推送终端系统,提醒用户每日定额存钱,用户必须年底才能一次性提出(涉及到的财务复利,非法集资问题暂不讨论,若需联系,请左边QQ交谈)。

    需要准备工资卡和另外一张空的银行卡

    下面只讨论代码层次的思想:

      1 *&---------------------------------------------------------------------*
      2 *& Report  ZCHENH073
      3 *&
      4 *&---------------------------------------------------------------------*
      5 *&
      6 *&
      7 *&---------------------------------------------------------------------*
      8 
      9 REPORT zchenh073.
     10 * 每天存一笔钱,这笔钱从每年的一月一号开始,十二月三十一号截止,
     11 * 要求:金额随机(必须为整数,起止为一元人民币),但不能与天数重复,每天存的钱只能比前一天多,到年底至少会有六万多块
     12 
     13 DATA:BEGIN OF gt_data OCCURS 0,
     14           exception,
     15           day TYPE i,       " 天数
     16           datum TYPE sy-datum,
     17           dmbtr TYPE dmbtr, " 金额
     18           msg(255),
     19         END OF gt_data.
     20 
     21 PARAMETERS:p_date TYPE sy-datum DEFAULT sy-datum.
     22 
     23 START-OF-SELECTION.
     24   
     25   PERFORM frm_full_data.
     26   PERFORM frm_show_data.
     27 *&---------------------------------------------------------------------*
     28 *&      Form  FRM_FULL_DATA
     29 *&---------------------------------------------------------------------*
     30 *       text
     31 *----------------------------------------------------------------------*
     32 *  -->  p1        text
     33 *  <--  p2        text
     34 *----------------------------------------------------------------------*
     35 FORM frm_full_data .
     36   DATA:lv_datum TYPE sy-datum,
     37        lv_flag,
     38        lv_count TYPE sy-index VALUE 365.
     39   lv_datum+0(4) = p_date+0(4).
     40   lv_datum+4(4) = '0229'.
     41 *  闰年判断标志
     42   CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
     43     EXPORTING
     44       date                      = lv_datum
     45     EXCEPTIONS
     46       plausibility_check_failed = 1
     47       OTHERS                    = 2.
     48   IF sy-subrc EQ 0. "如果返回非0,则日期不合法
     49     lv_count = 366.
     50   ENDIF.
     51 
     52   lv_datum+0(4) = lv_datum+0(4) - 1.
     53   lv_datum+4(4) = '1231'.
     54 
     55   DO lv_count TIMES.
     56     CLEAR:gt_data.
     57     gt_data-day = sy-index.
     58     gt_data-datum = lv_datum + sy-index.
     59     gt_data-dmbtr = sy-index.
     60 
     61     IF  gt_data-dmbtr > 300.
     62       gt_data-exception = 1. " 存钱压力极大
     63     ELSEIF  gt_data-dmbtr > 200."存钱压力不大
     64       gt_data-exception = 2.
     65     ELSE.
     66       gt_data-exception = 3." 没有压力
     67     ENDIF.
     68     IF gt_data-datum EQ p_date.
     69       DATA:lv_dbmtr TYPE string.
     70       lv_dbmtr = gt_data-dmbtr.
     71       CONCATENATE '您今日需要存入' lv_dbmtr  ''
     72              INTO gt_data-msg.
     73     ENDIF.
     74 
     75     APPEND gt_data.
     76   ENDDO.
     77 ENDFORM.                    " FRM_FULL_DATA
     78 
     79 *&---------------------------------------------------------------------*
     80 *&      Form  frm_show_data
     81 *&---------------------------------------------------------------------*
     82 *       text
     83 *----------------------------------------------------------------------*
     84 FORM frm_show_data .
     85   DATA: fieldcat        TYPE lvc_t_fcat WITH HEADER LINE,
     86         l_grid_settings TYPE lvc_s_glay,
     87         layout          TYPE lvc_s_layo,
     88         lv_title        TYPE lvc_title.
     89   PERFORM frm_build_fieldcat TABLES fieldcat.
     90   lv_title = '存钱推送提醒'.
     91   layout-excp_fname = 'EXCEPTION'.
     92   layout-zebra = 'X'.
     93   layout-cwidth_opt = 'X'.
     94   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
     95     EXPORTING
     96       i_callback_program          = sy-repid
     97       is_layout_lvc               = layout
     98       it_fieldcat_lvc             = fieldcat[]
     99       i_callback_user_command     = 'USER_COMMAND'
    100       i_callback_pf_status_set    = 'SET_PF_STATUS'
    101 *     i_callback_html_top_of_page = 'TOP_OF_PAGE' "调用TOP_OF_PAGE FORM
    102       i_grid_settings             = l_grid_settings
    103       i_grid_title                = lv_title
    104       i_save                      = 'U'
    105 *     IT_EVENTS                   = GT_EVENTS[]
    106     TABLES
    107       t_outtab                    = gt_data[]
    108     EXCEPTIONS
    109       program_error               = 1
    110       OTHERS                      = 2.
    111 ENDFORM.                    " FRM_SHOW_DATA
    112 
    113 *&---------------------------------------------------------------------*
    114 *&      Form  frm_build_fieldcat
    115 *&---------------------------------------------------------------------*
    116 *       text
    117 *----------------------------------------------------------------------*
    118 *      -->FIELDCAT   text
    119 *----------------------------------------------------------------------*
    120 FORM frm_build_fieldcat  TABLES fieldcat.
    121   DATA: lt_fieldcat TYPE lvc_t_fcat WITH HEADER LINE.
    122   DEFINE add2fc.
    123     lt_fieldcat-fieldname = &1.
    124     lt_fieldcat-scrtext_l = &2.
    125     lt_fieldcat-edit = &3.
    126     lt_fieldcat-checkbox = &4.
    127     lt_fieldcat-ref_table = &5.
    128     lt_fieldcat-ref_field = &6.
    129     lt_fieldcat-no_zero = 'X'.
    130     lt_fieldcat-fix_column = &7.
    131     lt_fieldcat-hotspot = &8.
    132     lt_fieldcat-outputlen = 100.
    133     append lt_fieldcat.
    134     clear lt_fieldcat.
    135   END-OF-DEFINITION.
    136   add2fc:
    137   'DAY' '天数' '' '' '' '' 'X' '',
    138   'DATUM' '存钱日期' '' '' '' '' 'X' '',
    139   'DMBTR' '存钱金额' '' '' '' '' 'X' '',
    140   'MSG' '消息' '' '' '' '' 'X' ''.
    141   fieldcat[] = lt_fieldcat[].
    142 
    143 ENDFORM.                    " FRM_BUILD_FIELDCAT
    144 
    145 *&---------------------------------------------------------------------*
    146 *&      Form  set_pf_status
    147 *&---------------------------------------------------------------------*
    148 *       text
    149 *----------------------------------------------------------------------*
    150 *      -->RT_EXTAB   text
    151 *----------------------------------------------------------------------*
    152 FORM set_pf_status USING rt_extab TYPE slis_t_extab.
    153   SET PF-STATUS 'ZCHENH073'.
    154 ENDFORM.                    "set_pf_status
    155 
    156 *&---------------------------------------------------------------------*
    157 *&      Form  user_command
    158 *&---------------------------------------------------------------------*
    159 *       text
    160 *----------------------------------------------------------------------*
    161 *      -->R_UCOMM      text
    162 *      -->RS_SELFIELD  text
    163 *----------------------------------------------------------------------*
    164 FORM user_command  USING r_ucomm LIKE sy-ucomm
    165       rs_selfield TYPE slis_selfield.
    166   CASE r_ucomm.
    167     WHEN '&F03' OR '&F15' OR '&F12'.
    168       SET SCREEN 0.
    169       LEAVE SCREEN.
    170     WHEN OTHERS.
    171   ENDCASE.
    172   rs_selfield-refresh = 'X'.
    173 ENDFORM.                    "frm_user_command_ALL

    预览效果如下图:
    1.选择日期:

    2.每日存钱推送提醒:

     

    欢迎访问我的博客! http://www.cnblogs.com/1187163927ch/
  • 相关阅读:
    [Android] 开源框架 xUtils HttpUtils 代理设置 (Temporary Redirect错误)
    [Android] 开源框架 Volley 自定义 Request
    [算法]——汉诺塔的递归深度
    [libwww-perl]——POST方法的使用
    [Go语言]从Docker源码学习Go——Interfaces
    [Linux]可用于管道操作的命令
    npoi 导出word中写入特殊字符
    thinkphp框架中使用PHPExcel,按模板导出excel
    Access导出csv 内容添加双引号 vba
    导出excel和PDF小结 vba
  • 原文地址:https://www.cnblogs.com/1187163927ch/p/10336874.html
Copyright © 2011-2022 走看看